none
Descarga el archivo vacío con el DownloadFileAsync RRS feed

  • Pregunta

  • Hola a todos. 

    A ver si podéis echar una mano con el DownloadFileAsync.

    tengo el siguiente código para descargar los archivos que los cliente me dejan en la página Web.

    If Not File.Exists(archivoDestino) Then
       Try
          myWebClient.Credentials = New NetworkCredential("usuario", "password")
          AddHandler myWebClient.DownloadProgressChanged, AddressOf ProgressChanged
          AddHandler myWebClient.DownloadFileCompleted, AddressOf OnDownloadComplete
          myWebClient.DownloadFileAsync(New Uri(myArchivoWeb), archivoDestino)
       Catch ex As System.Exception
          MessageBox.Show(ex.Message)
       End Try
    End If
    '_________________________________________________________________________________________________________
    Private Sub ProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
       Dim prgValue As Integer = e.ProgressPercentage
    End Sub
    '_________________________________________________________________________________________________________
    Private Sub OnDownloadComplete(ByVal sender As Object, ByVal e As AsyncCompletedEventArgs)
       If Not e.Cancelled AndAlso e.Error Is Nothing Then
          MessageBox.Show("Download success")
       Else
          MessageBox.Show("Download failed")
       End If
    End Sub
    

    pero la descarga me la hace a 0 bytes. y los eventos ProgressChanged y OnDownloadComplete no se cumplen. No sé si el 0 es porque no termina la descarga o porque tengo algo mal en el código.

    Si intento abrir el archivo me dice que esta siendo utilizado.

    Un saludo y gracias de antemano...

    martes, 3 de julio de 2018 10:43

Respuestas

  • bueno después de mucho buscar, he dado con la solución.

                                  If Not File.Exists(archivoDestino) Then
                                     Try
                                        myWebClient.Headers.Add("User-Agent: Other")
                                        myWebClient.DownloadFile(New Uri(myArchivoWeb), archivoDestino)
                                     Catch ex As System.Exception
                                        MessageBox.Show(ex.Message)
                                     End Try
                                  End If
    

    he cambiado la forma de hacer el Download.

    • Marcado como respuesta rbs61 jueves, 5 de julio de 2018 14:48
    jueves, 5 de julio de 2018 14:48

Todas las respuestas

  • Bueno... parece ser que si pasa por el código 'OnDownloadComplete' pero me indica el siguiente error.

    martes, 3 de julio de 2018 10:57
  • bueno después de mucho buscar, he dado con la solución.

                                  If Not File.Exists(archivoDestino) Then
                                     Try
                                        myWebClient.Headers.Add("User-Agent: Other")
                                        myWebClient.DownloadFile(New Uri(myArchivoWeb), archivoDestino)
                                     Catch ex As System.Exception
                                        MessageBox.Show(ex.Message)
                                     End Try
                                  End If
    

    he cambiado la forma de hacer el Download.

    • Marcado como respuesta rbs61 jueves, 5 de julio de 2018 14:48
    jueves, 5 de julio de 2018 14:48