Pregunta

No puedo descargar cualquier archivo con el siguiente código:

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

Errores siguientes pop-up:(traducido del alemán al inglés):

A partir de los Errores de Microsoft Pop-UP:enter image description here

==> No tratados con excepcion de los de tipo "del Sistema.Net.WebException" apareció en System.dll.

Y en el depurador:enter image description here

==> Excepcion de:Activa:"Un argumento no válido se ha especificado" (del Sistema.Net.Sockets.SocketException) Del Sistema.Net.Sockets.SocketException ha sido disparada."Un argumento no válido se ha especificado"

CÓDIGO COMPLETO:

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
¿Fue útil?

Solución

No la carpeta C:\TEST existen?También, a partir de la documentación:

Cuando se utiliza este método en un nivel medio de aplicación, tales como ASP.NET página, usted recibirá un mensaje de error si la cuenta en la que la aplicación se ejecuta no tiene permiso para acceder al archivo.

Wenn Sie diese Methode en einer Anwendung der Media Lágrima verwenden, z.B.einer ASP.NET-Seite, erhalten Sie eine Fehlermeldung, wenn das Konto, unter dem die Anwendung ausgeführt wird, nicht über die Berechtigung zum Zugriff auf die Datei verfügt.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top