2017-02-27 64 views
0

完成下載我正在嘗試使用簡單的基本webclient說明下載文件,但該文件並未下載完成。如果我試圖下載一個10MB/100MB的文件,它可以下載一個7kb的文件或一個空文件。我只是使用ProgressBar來顯示下載進度。這是我正在使用的代碼。無法使用DownloadFileAsync

Imports System.Net 

Public Class Form1 

    Dim WithEvents wc As New WebClient 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     wc.DownloadFileAsync(New Uri("http://cachefly.cachefly.net/100mb.test"), "100mb.test") 
End Sub 

Private Sub wc_DownloadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles wc.DownloadFileCompleted 
    ProgressBar1.Visible = False 
    ProgressBar1.Value = 0 
End Sub 

Private Sub wc_DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Handles wc.DownloadProgressChanged 
    ProgressBar1.Visible = True 
    ProgressBar1.Value = e.ProgressPercentage 
End Sub 

End Class 
+0

您的代碼可以反覆適用於200MB文件。問題必須在其他地方......代理,權限,月相?對不起,沒有線索。 – MrGadget

+0

我不知道這裏沒有什麼錯。我嘗試了一個不同的PC代碼。在另一臺電腦上創建一個全新的項目,只有上面提到的代碼。嘗試使用舊版本的.NET Framework。還是行不通。只需下載文件的7kb然後完成。是否有其他替代方法來測試下載/上傳速度? –

回答

0

最後,我通過this forum發現了一個解決方案。我只是給webclient添加了頭文件,並且工作正常。這裏是其他人蔘考的代碼。

wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)") 

在調用DownloadFileAsync函數之前添加它。