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