通过System.Net.WebClient下载FileFile不起作用

时间:2012-10-01 12:47:01

标签: vb.net downloadfile

我无法使用以下代码下载任何文件:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    DownloadFile("http://mirror.switch.ch/ftp/mirror/videolan/vlc/2.0.3/vlc-2.0.3.tar.xz", "C:\TEST\vlc-2.0.3.tar.xz")
End Sub

Public Sub DownloadFile(ByVal _URL As String, ByVal _SaveAs As String)
        Dim _WebClient As New System.Net.WebClient()
        _WebClient.DownloadFile(_URL, _SaveAs)
End Sub

将弹出以下错误:(从德语翻译成英语):

来自Microsoft Error Pop-UP: enter image description here

==> System.dll中出现了类型为“System.Net.WebException”的未处理的exeption。

在调试器中: enter image description here

==>执行:触发:“已指定无效参数”(System.Net.Sockets.SocketException)已触发System.Net.Sockets.SocketException。 “已指定无效参数”

完整代码:

Imports System
Imports System.Net

Public Class Form2
    Dim str_hd As String

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        For Each drive As System.IO.DriveInfo In My.Computer.FileSystem.Drives
            Dim dbl_capacity As Double
            Dim dbl_free As Double
            Dim dbl_used As Double

            If drive.IsReady Then
                dbl_capacity = drive.TotalSize / 1073741824
                dbl_free = drive.TotalFreeSpace / 1073741824
                dbl_used = dbl_capacity - dbl_free

                dbl_capacity = Fix(dbl_capacity * 1) / 1
                dbl_free = Fix(dbl_free * 10) / 10
                dbl_used = Fix(dbl_used * 10) / 10


                str_hd = str_hd & "Laufwerk " & drive.Name & "  -  " _
                        & drive.VolumeLabel & vbCrLf _
                        & "Benutzt: " & dbl_used & " GB" & " / " & dbl_capacity & " GB" & vbCrLf & "Frei: " _
                        & dbl_free & "GB" & vbCrLf & "-------------------------------" & vbCrLf
            End If
        Next

        txtbox_hd.Text = str_hd

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        DownloadFile("http://www.aerztekammer-hamburg.de/berufsrecht/Berufsordnung.pdf", "C:\TEST\Berufsordnung.pdf")
    End Sub



    Public Sub DownloadFile(ByVal _URL As String, ByVal _SaveAs As String)
            Dim _WebClient As New System.Net.WebClient()
            _WebClient.DownloadFile(_URL, _SaveAs)
    End Sub

End Class

1 个答案:

答案 0 :(得分:1)

文件夹C:\TEST是否存在?另外,从文档:

  

在中间层应用程序(如ASP.NET页面)中使用此方法时,如果应用程序执行的帐户无权访问该文件,则会收到错误。

     

Wenn Sie diese Methode in einer Anwendung der Middle-Tear verwenden,z。 B. einer ASP.NET-Seite,erhalten Sie eine Fehlermeldung,wenn das Konto,unter dem dieAnwendungausgeführtwird,nichtüberdieberechtigung zum Zugriff auf dieDateiverfügt。