无法使用 DownloadFileAsync 完成下载
Unable to complete download using DownloadFileAsync
我正在尝试使用简单的基本 webclient 指令下载文件,但是文件没有下载完成。如果我尝试下载一个 10mb/100mb 的文件,它要么下载一个 7kb 的文件,要么下载一个空文件。我只是使用 ProgressBar 来显示下载进度。这是我正在使用的代码。
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
最后,我通过this forum找到了解决方案。我刚刚将 headers 添加到 webclient,它工作正常。这是供其他人参考的代码。
wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)")
在调用 DownloadFileAsync 函数之前添加它。
我正在尝试使用简单的基本 webclient 指令下载文件,但是文件没有下载完成。如果我尝试下载一个 10mb/100mb 的文件,它要么下载一个 7kb 的文件,要么下载一个空文件。我只是使用 ProgressBar 来显示下载进度。这是我正在使用的代码。
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
最后,我通过this forum找到了解决方案。我刚刚将 headers 添加到 webclient,它工作正常。这是供其他人参考的代码。
wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)")
在调用 DownloadFileAsync 函数之前添加它。