new*_*guy 1 c# download downloadfileasync async-await webclient-download
我正在尝试test.exe使用以下代码下载文件:
public void DownloadFile()
{
using(var client = new WebClient())
{
client.DownloadFileAsync(new Uri("http://www.acromix.net16.net/download/test.exe"), "test.exe");
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道,也不知道为什么它是0 KB(应该是328 KB).[ / downloads ]
我怎样才能使它工作?
编辑:
托管网站(000webhost)阻止.exe文件下载...
问题是您使用的DownloadFileAsync是异步版本.要知道下载何时完成,您必须订阅DownloadFileCompleted活动.
使用同步方法:
public void DownloadFile()
{
using(var client = new WebClient())
{
client.DownloadFile(new Uri("http://www.acromix.net16.net/download/test.exe"), "test.exe");
}
}
Run Code Online (Sandbox Code Playgroud)
或者使用新的异步等待方法:
public async Task DownloadFileAsync()
{
using(var client = new WebClient())
{
await client.DownloadFileTaskAsync(new Uri("http://www.acromix.net16.net/download/test.exe"), "test.exe");
}
}
Run Code Online (Sandbox Code Playgroud)
然后像这样调用这个方法:
await DownloadFileAsync();
Run Code Online (Sandbox Code Playgroud)