在C#中下载文件错误地返回零字节长的文件

时间:2013-02-23 17:12:30

标签: c# webclient

所以我正在尝试使用WebClient类下载文件,但问题是当下载完成时应该下载的文件是0字节,我尝试上传相同的文件而没有扩展名,而不是在下载后更改它这没有帮助。我能做什么?这是我使用的代码

WebClient updateDownloader = new WebClient();
updateDownloader.DownloadFile(new Uri("http://zazaia.ucoz.com/SomeExeFile.exe"),      
Application.StartupPath + "\\SomeFile.EXE");

还有DownloadCompleted事件处理程序,它只显示MessageBox和Disposes WebClient。

2 个答案:

答案 0 :(得分:2)

您显示的代码没有任何问题,这应该有效。问题是在服务器上没有正确返回文件。还要确保您要查询的站点在下载文件之前不需要某些身份验证。除此之外,不要忘记WebClient不会执行任何javascript,因此如果服务器依赖它来下载文件,则不会发生这种情况。

答案 1 :(得分:1)

您是否检查过您的防病毒软件没有干扰?有时,自动扫描会锁定正在下载的可执行文件,直到它通过。然而,客户端代码本身看起来很好。

服务器端怎么样?如果您自己的某个应用程序提供下载服务,则可能无法设置MIME标头,甚至根本无法正确处理下载