Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/10/2008, 09:44
Javichechu
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: ¿Como puedo recorrer un directorio FTP?

Bueno, he dado con una solución que funciona a las maravillas .La pongo en común porque a mucha gente le hará falta ;)

La función en si lista del FTP los directorios que hay dentro de un directorio FTP pasado por parámetro y devuelve en un array String, en cada posición el nombre de cada uno de los directorios que hay dentro del directorio deseado. Aquí el código

Código:
Public Function listarFTP(ByVal dir As String) As String()

        'Lista un directorio FTP devolviendo los directorios que tiene

        Dim dirFtp As FtpWebRequest = CType(FtpWebRequest.Create(RutaDirectorioFTP), FtpWebRequest)

        ' Los datos del usuario (credenciales)
        Dim cr As New NetworkCredential(UserName, Password)
        dirFtp.Credentials = cr

        ' El comando a ejecutar
        dirFtp.Method = "LIST"

        ' También usando la enumeración de WebRequestMethods.Ftp
        dirFtp.Method = WebRequestMethods.Ftp.ListDirectory

        ' Obtener el resultado del comando
        Dim reader As New StreamReader(dirFtp.GetResponse().GetResponseStream())


        'Rellenamos un Array con cada uno de las líneas del Reader que contendrán los nombres de los directorios
        Dim iContadorDirec As Integer = 0
        Dim ArrayDirectorios() As String

        Do
            Dim Directorio As String = reader.ReadLine
            ReDim ArrayDirectorios(iContadorDirec)

            ArrayDirectorios(iContadorDirec) = Directorio
            iContadorDirec = iContadorDirec + 1
            If reader.EndOfStream = True Then Exit Do

        Loop

        'Devolvemos el array con los directorios
        Return ArrayDirectorios

        ' Cerrar el stream abierto.
        reader.Close()
    End Function