none
Obtener el tamaño del fichero ftp? RRS feed

  • Pregunta

  • HOla

    Hago servir esta uinstrucción para descargar de ftp... me funciona bien, el problema es q quiero saber el tamaño del fichero q estoy descargando para crear una barra de progreso y response.ContentLength siempre vale -1... como obtnego el tamaño¿? Gracias

    Siguiendo este hilo:http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/16183ec1-f2e5-495a-9b92-3a84a4eeeddb

    He intentado poner Dim ftpStream As MemoryStream = response.GetResponseStream() pero me da error

    Public Sub download3()
          Dim reqFTP As FtpWebRequest

          Try
             'filePath: The full path where the file is to be created.
             'fileName: Name of the file to be createdNeed not name on
             ' the FTP server. name name()
             Dim outputStream As New FileStream(_filePath + "\" + _file, FileMode.Create)

             reqFTP = DirectCast(FtpWebRequest.Create(_URI), FtpWebRequest)
             reqFTP.Method = WebRequestMethods.Ftp.DownloadFile
             reqFTP.UseBinary = True
             reqFTP.Credentials = New NetworkCredential(_remoteUser, _remotePass)
             Dim response As FtpWebResponse = DirectCast(reqFTP.GetResponse(), FtpWebResponse)
             Dim ftpStream As Stream = response.GetResponseStream()
             Dim cl As Long = response.ContentLength
             Dim bufferSize As Integer = 2048
             Dim readCount As Integer
             Dim buffer As Byte() = New Byte(bufferSize - 1) {}

             readCount = ftpStream.Read(buffer, 0, bufferSize)
             While readCount > 0
                outputStream.Write(buffer, 0, readCount)
                readCount = ftpStream.Read(buffer, 0, bufferSize)
             End While

             ftpStream.Close()
             outputStream.Close()
             response.Close()
          Catch ex As Exception
             MessageBox.Show(ex.Message)
          End Try
       End Sub


    GRacias

    jueves, 1 de marzo de 2012 16:54

Respuestas

  • Vale el ejemplo (largísimo) me sirvio.. .pero al final encontré la respuesta aquí :

    http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/0206feb5-90fe-4296-8fae-739dbbe4609c/

    Gracias


    GRacias

    • Marcado como respuesta chascos69 viernes, 2 de marzo de 2012 10:04
    viernes, 2 de marzo de 2012 10:04

Todas las respuestas