异步下载zip文件DownloadProgressChanged的TotalBytesToReceive一直是-1,怎么解决?

季末晚风 2018-03-09 11:38:30
DownloadProgressChanged异步下载zip文件时,BytesReceived会一直改变,但是TotalBytesToReceive一直为-1.
但是我试过下载xml文件,两个参数又正常了。
表示不懂,求指点。

以下是代码:
string url = requestUrl;
var client = new System.Net.WebClient();
client.DownloadProgressChanged += (sender, e) =>
{
UpdateProcess(e.BytesReceived, e.TotalBytesToReceive);
};
client.DownloadDataAsync(new Uri(url));


下载zip时,e.TotalBytesToReceive一直为-1.
...全文
321 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
季末晚风 2018-03-09
  • 打赏
  • 举报
回复
上面问题要怎么解决,是不是服务器端的问题?
季末晚风 2018-03-09
  • 打赏
  • 举报
回复
引用 楼主 qq_26954981 的回复:
DownloadProgressChanged异步下载zip文件时,BytesReceived会一直改变,但是TotalBytesToReceive一直为-1. 但是我试过下载xml文件,两个参数又正常了。 表示不懂,求指点。 以下是代码: string url = requestUrl; var client = new System.Net.WebClient(); client.DownloadProgressChanged += (sender, e) => { UpdateProcess(e.BytesReceived, e.TotalBytesToReceive); }; client.DownloadDataAsync(new Uri(url)); 下载zip时,e.TotalBytesToReceive一直为-1.
大概知道原因了,zip文件比较小时,还是能够拿到的,两个测试文件一个1K一个500K,小的能取到,大的不行,值为-1

110,534

社区成员

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

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

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