2017-03-15 61 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

相關問題