如何确保我下载的文件已经完成?
How do I make sure that the file I download has finished?
我有这个应用程序,它允许我在按下按钮时从 Internet 下载某些文件。
但是..我不知道如何确保文件实际上已经完成下载。
我目前正在使用旧的 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 有一个名为 DownlaodFileCompleted 的事件处理程序,您可以使用它在文件下载完成时触发:
myWebClient.DownloadFileCompleted += DownloadCompleted;
public static void DownloadCompleted(object sender, AsyncCompletedEventArgs e)
{
Console.WriteLine("Success");
}
我有这个应用程序,它允许我在按下按钮时从 Internet 下载某些文件。 但是..我不知道如何确保文件实际上已经完成下载。
我目前正在使用旧的 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 有一个名为 DownlaodFileCompleted 的事件处理程序,您可以使用它在文件下载完成时触发:
myWebClient.DownloadFileCompleted += DownloadCompleted;
public static void DownloadCompleted(object sender, AsyncCompletedEventArgs e)
{
Console.WriteLine("Success");
}