架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 24071|回复: 1

[资料] c# http下载文件

[复制链接]
发表于 2016-3-1 14:47:57 | 显示全部楼层 |阅读模式
  1. /// <summary>
  2.         /// http下载文件
  3.         /// </summary>
  4.         /// <param name="url">下载文件地址</param>
  5.         /// <param name="path">文件存放地址,包含文件名</param>
  6.         /// <returns></returns>
  7.         public bool HttpDownload(string url, string path)
  8.         {
  9.             string tempPath = System.IO.Path.GetDirectoryName(path) + @"\temp";
  10.             System.IO.Directory.CreateDirectory(tempPath);  //创建临时文件目录
  11.             string tempFile = tempPath + @"" + System.IO.Path.GetFileName(path) + ".temp"; //临时文件
  12.             if (System.IO.File.Exists(tempFile))
  13.             {
  14.                 System.IO.File.Delete(tempFile);    //存在则删除
  15.             }
  16.             try
  17.             {
  18.                 FileStream fs = new FileStream(tempFile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
  19.                 // 设置参数
  20.                 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
  21.                 //发送请求并获取相应回应数据
  22.                 HttpWebResponse response = request.GetResponse() as HttpWebResponse;
  23.                 //直到request.GetResponse()程序才开始向目标网页发送Post请求
  24.                 Stream responseStream = response.GetResponseStream();
  25.                 //创建本地文件写入流
  26.                 //Stream stream = new FileStream(tempFile, FileMode.Create);
  27.                 byte[] bArr = new byte[1024];
  28.                 int size = responseStream.Read(bArr, 0, (int)bArr.Length);
  29.                 while (size > 0)
  30.                 {
  31.                     //stream.Write(bArr, 0, size);
  32.                     fs.Write(bArr, 0, size);
  33.                     size = responseStream.Read(bArr, 0, (int)bArr.Length);
  34.                 }
  35.                 //stream.Close();
  36.                 fs.Close();
  37.                 responseStream.Close();
  38.                 System.IO.File.Move(tempFile, path);
  39.                 return true;
  40.             }
  41.             catch (Exception ex)
  42.             {
  43.                 return false;
  44.             }
  45.         }
复制代码






上一篇:The ProxyService For IRIS service could not be started.
下一篇:C#获取文件夹下的所有文件的文件名
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2016-3-2 13:46:20 | 显示全部楼层
                                 
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-3-20 21:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表