WebRequest下载文件
上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
private void DownloadFile(string fileUrl, string filename)
{
try
{
var request = WebRequest.Create(fileUrl);
var response = request.GetResponse();
using (var responseStream = response.GetResponseStream())
{
var readedSize = 0L;
using (var fs = new FileStream(filename, FileMode.Create))
{
var buffer = new byte[1024 * 500];
var readSize = responseStream.Read(buffer, 0, buffer.Length);
while (readSize > 0)
{
fs.Write(buffer, 0, readSize);
readSize = responseStream.Read(buffer, 0, buffer.Length);
readedSize += readSize;
}
}
}
response.Close();
}
catch (WebException ex)
{
var rsp = ex.Response as HttpWebResponse;
if (rsp != null && rsp.StatusCode == HttpStatusCode.NotFound)
{
throw new FileNotFoundException(fileUrl);
}
else
{
throw ex;
}
}
}
本文会经常更新,请阅读原文: https://dashenxian.github.io/post/WebRequest%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6 ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 小神仙 (包含链接: https://dashenxian.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (125880321@qq.com) 。