zip文件下载后缺少

removeLove 2013-05-23 03:43:10
下载的zip文件跟服务器上的个数不一样啊
string a = "";
HttpWebRequest myReq = null; HttpWebResponse HttpWResp = null;
try
{

myReq = (HttpWebRequest)HttpWebRequest.Create("http://xxx.xxx.xxx.xx/Images/MomanCamera/background/MomanCamera_background_icons__1000001.zip");
myReq.Timeout = 5000;
HttpWResp = (HttpWebResponse)myReq.GetResponse();
HttpStatusCode httpCode = HttpWResp.StatusCode;
long fileSize = 0;
if (httpCode == HttpStatusCode.OK)
{
Stream myStream = HttpWResp.GetResponseStream();
fileSize = HttpWResp.ContentLength;
byte[] b = new byte[fileSize];
myStream.Read(b, 0, b.Length);

if (b != null)
{

FileStream fs;
FileInfo fi = new FileInfo(@"d:\1.zip");
fs = fi.OpenWrite();
fs.Write(b, 0, b.Length);
fs.Close();
}


}
}
catch (Exception ex)
{

}
finally
{
if (myReq != null)
myReq = null;
if (HttpWResp != null)
{
HttpWResp.Close();
HttpWResp = null;
}
}
...全文
126 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
removeLove 2013-05-23
  • 打赏
  • 举报
回复
是不是我这么保存的方式不行啊,要用zip特定的dll对象保存这个byte数组啊
removeLove 2013-05-23
  • 打赏
  • 举报
回复
引用 4 楼 qldsrx 的回复:
文件大小是你由HttpWResp.ContentLength获取的,因此不可能不一样,除非你记录实际获取的字节数,也就是myStream.Read(b, 0, b.Length);的返回值,估计不会一样的。而文件数少了却能够打开,基本上说明你下载的文件和服务端查看的文件是不同的文件了。
大神,我解压文件的时候报“这个压缩文件格式未知或者数据已经损坏” 是不是我这么保存不行啊,不要zip特定的对象保存啊
qldsrx 2013-05-23
  • 打赏
  • 举报
回复
文件大小是你由HttpWResp.ContentLength获取的,因此不可能不一样,除非你记录实际获取的字节数,也就是myStream.Read(b, 0, b.Length);的返回值,估计不会一样的。而文件数少了却能够打开,基本上说明你下载的文件和服务端查看的文件是不同的文件了。
removeLove 2013-05-23
  • 打赏
  • 举报
回复
大神呢 求帮助啊、求爱慕、求解决啊
removeLove 2013-05-23
  • 打赏
  • 举报
回复
大神呢 该不会都在午休吧
removeLove 2013-05-23
  • 打赏
  • 举报
回复
大神求助啊 为什么会里面文件个数就少啦 zip大小跟服务器上的大小一样啊

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧