c# HttpWebRequest下载文件不完整

2024-11-06 15:35:23
推荐回答(2个)
回答(1):

偶不知道你这在哪儿抄的,三个问题:
1.居然GetResponse()了三次,难道你不知道应该GetResponse()然后声明个变量存起来么,知不知道GetResponse()方法到底是做什么哦,看你的代码感觉你懒得要死,你这样写会导致文件被下载三次,既占用带宽又浪费系统资源。而且如果你下载的是频繁变化的网页,比如搜索引擎的搜索结果,也许你前面获得的GetResponse().ContentLength跟后面获得的GetResponse().ContentLength根本不一致
2.你这代码编译通过没哦,难道你不知道Stream.Read 方法的最后一个参数是int型的,而GetResponse().ContentLength是long型的
3.想必你做这之前还是有去网上查过别人是怎么做的吧,难道你没注意到别人是大部分是用一个循环来一点点处理的么?试想一下,且不考虑上述两问题,如果下载一个几G或更大的文件,像你这样岂不是要把几G的数据一下全存到内存里那想不死机都难。

你这代码又没有良好的编程习惯又对网络编程和流处理理解不深入,建议你直接使用WebClient来下载文件算了
网上也有很多用HttpWebRequest下载文件的例子,踏踏实实认真研究

回答(2):

1