Я пытаюсь загрузить мерзавца из этого URLDownloadFile работает, DownloadFileAsync получает 0 байт файла
https://github.com/msysgit/msysgit/releases/download/Git-1.9.5-preview20150319/Git-1.9.5-preview20150319.exe
Я сделал это с помощью DownloadFile, он работал нормально.
Теперь я пытаюсь сделать это с помощью метода Async, но он загружает 0 байтовый файл. Вот код:
public void downloadFile(string urlAddress, string location)
{
using (var downloadClient = new WebClient())
{
downloadClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(Completed);
downloadClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
Uri URL = urlAddress.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ? new Uri(urlAddress) : new Uri("http://" + urlAddress);
_downloadStopWatch.Start();
try
{
downloadClient.DownloadFileAsync(URL, location);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
_downloadStopWatch.Stop();
while (downloadClient.IsBusy) { }
}
}
где:
private string _location = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\test.exe";
И urlAddress набрана в текстовом поле и передается TextBox.Text
Я проверить Завершена обработчик и он говорит завершен.
Почему я получаю 0-байтовый файл?
Забавно, что ваш код не работает с описанной URL, как он использует схему HTTPS. И если я изменю его на http, он будет работать как ожидалось ... –
Вау, я пропустил это. Исправлено, теперь это работает, спасибо. – Januszoff