我有这个应用程序,当我按下按钮时,我可以从互联网上下载某些文件。 但是..我不知道如何确保文件实际上已完成下载。
我目前正在使用下载文件的旧WebClient方法
using (WebClient client = new WebClient())
{
client.DownloadFileAsync(new System.Uri(requestUrl), combinedPaths);
}
由于下载功能非常简单直接,因此无需显示更多代码。 我需要弄清楚如何跟踪您正在下载的文件以查看它已下载了多少,例如1/100%.. 我有一个非常好的ISP,下载速度为250 Mb / s,所以我很难看到它是否真的已经完成了。
答案 0 :(得分:4)
你可以发起WebClient.DownloadFileCompleted
事件并用它做点什么:
client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCallback);
要了解下载的状态,您可以订阅另一个事件处理程序:
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback);
答案 1 :(得分:3)
WebClient有一个名为DownlaodFileCompleted的事件处理程序,可用于在文件下载完成时触发:
myWebClient.DownloadFileCompleted += DownloadCompleted;
public static void DownloadCompleted(object sender, AsyncCompletedEventArgs e)
{
Console.WriteLine("Success");
}