2017-03-15 68 views
1

我有这个应用程序,它允许我按下按钮时从互联网上下载某些文件。 但是..我不知道如何确保该文件实际上已经完成下载。如何确保我下载的文件已完成?

我目前使用的下载文件

using (WebClient client = new WebClient()) 
    { 
     client.DownloadFileAsync(new System.Uri(requestUrl), combinedPaths); 
    } 

历久弥新WebClient的方法有没有必要表现出更多的代码,因为真正的下载功能是非常简单和直接的。 我需要弄清楚如何跟踪你正在下载的文件,看看它有多少下载,例如1/100%.. 我有一个非常好的ISP与250 Mb/s的下载速度,所以它真的很难让我看看它是否已经完成了。

+1

[WebClient.DownloadFileCompleted Event](https://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfilecompleted(v = vs.110).aspx)学会使用Google和MSDN来查找这些事件你自己的答案。你会很高兴你做到了。 –

回答

3

您可以触发WebClient.DownloadFileCompleted事件,并用它做什么:

client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCallback); 

要知道下载的状态,您可以订阅其他事件处理程序:

client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback); 
3

Web客户端有一个事件处理程序称为DownlaodFileCompleted,可用于在文件完成下载时触发​​:

myWebClient.DownloadFileCompleted += DownloadCompleted; 

public static void DownloadCompleted(object sender, AsyncCompletedEventArgs e) 
{ 
    Console.WriteLine("Success"); 
} 
+0

啊!没想到事件处理者!谢谢! –

+0

我的荣幸:) @NicoRiff居然打败了我,所以他值得回答。 – CNuts

相关问题