我想从这个网址DownloadFile工作,DownloadFileAsync得0字节的文件
https://github.com/msysgit/msysgit/releases/download/Git-1.9.5-preview20150319/Git-1.9.5-preview20150319.exe
我做到了使用DownloadFile下载git的,它的工作确定。
现在我尝试使用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