Web客户端downloadfileasync不工作
-
21-09-2019 - |
题
我有一个WPF应用程序,我想下载一个文件。
我使用System.Net;和我有以下代码:
WebClient ww = new WebClient();
ww.DownloadFileAsync(
new Uri("http://www.sinvise.net/tester/1.jpg"),
AppDomain.CurrentDomain.BaseDirectory + "\\1.jpg");
问题是,是,它不下载文件,它只是显示为0KB文件,而不是下载的,我不知道是什么问题,谁能帮助?
解决方案 3
找到了答案,我读到DownloadFile检查DNS第一个东西之前,如果我用一个IP地址就没有做检查,并立即生效。
感谢在这虽然大家的帮助。
其他提示
如何监听 DownloadFileCompleted 事件并检查 AsyncCompletedEventArgs.Error 财产事件转发到您的处理?
public static void DownLoadFileInBackground(string address)
{
WebClient client = new WebClient();
Uri uri = new Uri(address);
client.DownloadFileCompleted += (sender,e)=>
{
//inspect e here:
//e.Error
};
client.DownloadProgressChanged += (sender,e)=>
{
//e.ProgressPercentage
};
client.DownloadFileAsync(uri, "blabla");
}
某些网站阻止不必须在请求某些报头的请求。 在特定的一个我在过去已经发现的是“用户代理”首部,尝试从一个浏览器请求复制的报头,并将其添加到你的Web客户端
WebClient.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)");
我想补充一点,当你有同一个文件的现有的和未封闭的WebRequest的DownloadFileAsync
方法(我不能DownloadFile
说吧)无法正常工作。至少这是我的经验。它可以是它不是由框架或服务器允许的。
不隶属于 StackOverflow