Dito Qarcidze
Dito Qarcidze

Reputation: 73

Downloading a file in C# incorrectly returns files that is zero bytes long

So I'm trying to Download a file using WebClient class but the problem is that when the download is finished the file that should be downloaded is 0 byte, I tried uploading the same file without extension and than changing it after download but that didn't help. What Can I do? This is the code I Use

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

And also have DownloadCompleted event handler which just shows MessageBox and Disposes the WebClient.

Upvotes: 1

Views: 1776

Answers (2)

DiskJunky
DiskJunky

Reputation: 4971

Have you checked that your antivirus is not interfering? Sometimes an automatic scan will lock an executable file being downloaded until it passes. The client code itself looks fine however.

What about the server side? If is one of your own applications serving the download, then it may not be setting the MIME header or even not handling the download correctly at all

Upvotes: 1

Darin Dimitrov
Darin Dimitrov

Reputation: 1038710

There is nothing wrong with the code you have shown and this should work. The problem is on the server which is not returning the file properly. Also make sure that the site you are querying doesn't require some authentication before being able to download files. In addition to that don't forget that a WebClient will not execute any javascript, so if the server relies on it to download the file, this will not happen.

Upvotes: 2

Related Questions