实现http文件下载和上传
来源:互联网 发布:知鱼之乐的寓意 编辑:程序博客网 时间:2024/06/08 09:37
实现http文件下载
static void Main(string[] args) { string url = ""; string path = ""; // 设置参数 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; //发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream responseStream = response.GetResponseStream(); //创建本地文件写入流 Stream stream = new FileStream(path, FileMode.Create); byte[] bArr = new byte[1024]; int size = responseStream.Read(bArr, 0, (int)bArr.Length); while (size > 0) { stream.Write(bArr, 0, size); size = responseStream.Read(bArr, 0, (int)bArr.Length); } stream.Close(); responseStream.Close(); Console.Read(); }
次性读取response.GetResponseStream();流的所有内容
HttpWebRequest request = WebRequest.Create(this.txtContent.Text) as HttpWebRequest; //发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 Stream responseStream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(responseStream); string content = streamReader.ReadToEnd(); CheckContent(content); responseStream.Close();
保存一张网络上的图片到本地。
/// <summary> /// 下载图片 /// </summary> /// <param name="picUrl">图片Http地址</param> /// <param name="savePath">保存路径</param> /// <param name="timeOut">Request最大请求时间,如果为-1则无限制</param> /// <returns></returns> public static bool DownloadPicture(string picUrl, string savePath, int timeOut) { //string save = picUrl; //savePath += save.Substring(save.LastIndexOf("/") + 1); bool value = false; WebResponse response = null; Stream stream = null; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(picUrl); if (timeOut != -1) request.Timeout = timeOut; response = request.GetResponse(); stream = response.GetResponseStream(); if (!response.ContentType.ToLower().StartsWith("text/")) value = SaveBinaryFile(response, savePath); } finally { if (stream != null) stream.Close(); if (response != null) response.Close(); } return value; } private static bool SaveBinaryFile(WebResponse response, string savePath) { bool value = false; byte[] buffer = new byte[1024]; Stream outStream = null; Stream inStream = null; try { if (File.Exists(savePath)) File.Delete(savePath); outStream = System.IO.File.Create(savePath); inStream = response.GetResponseStream(); int l; do { l = inStream.Read(buffer, 0, buffer.Length); if (l > 0) outStream.Write(buffer, 0, l); } while (l > 0); value = true; } finally { if (outStream != null) outStream.Close(); if (inStream != null) inStream.Close(); } return value; }
0 0
- 实现http文件下载和上传
- HTTP上传和下载文件
- Android Http实现文件的上传和下载
- [控件]文件HTTP上传和下载
- winsocket HTTP下载和上传文件
- C#进行Http上传和下载文件
- VC实现HTTP上传和下载
- c++ 实现 http 上传和下载
- http上传和下载
- Qt5.8用HTTP实现文件上传和下载(带进度条)
- shell实现ftp上传和下载文件
- servlet实现文件上传和下载
- GWT 实现文件上传和下载
- Java实现文件上传和下载
- php实现文件的上传和下载
- Struts2实现文件上传和下载
- MFC实现文件下载和上传
- GWT 实现文件上传和下载
- Monkey测试结果分析
- 327. Count of Range Sum
- 我的项目重构之路二
- ACM篇:POJ 1094 -- Sorting It All Out
- Sqlite3使用
- 实现http文件下载和上传
- U盘装系统
- monkey测试
- 特征工程——特征分类及不同类特征的处理方式
- 运行maven下的settings.bat文件的结果
- hdoj-【1286 找新朋友】
- monkey测试环境搭建-真机
- Android View的生命周期
- 我的前端之路(一)