Foros del Web » Programando para Internet » ASPX (.net) »

¿Como puedo recorrer un directorio FTP?

Estas en el tema de ¿Como puedo recorrer un directorio FTP? en el foro de ASPX (.net) en Foros del Web. Hola compañeros. Necesito leer en árbol un directorio fTP. Leer de un ftp lo consigo, pero necesito por ejemplo coger una carpeta que está en ...
  #1 (permalink)  
Antiguo 09/10/2008, 09:12
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación ¿Como puedo recorrer un directorio FTP?

Hola compañeros. Necesito leer en árbol un directorio fTP. Leer de un ftp lo consigo, pero necesito por ejemplo coger una carpeta que está en un FTP y sacar el nombre de cada directorio que contenga.

También necesito luego poder listar cada archivo que tenga una carpeta, y sacar el nombre de cada uno de los archivos que contenga la carpeta.

¿Cómo puedo hacer eso?

Gracias

PD: Consigo sacarlo en un Strim dodo junto, pero luego no se como sacarlo de ahí. Debe de haber otra forma, pero no la conozco.
  #2 (permalink)  
Antiguo 09/10/2008, 09:44
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:51.