Mostrando entradas con la etiqueta WebRequest. Mostrar todas las entradas
Mostrando entradas con la etiqueta WebRequest. Mostrar todas las entradas

viernes, 9 de octubre de 2009

Descargar un archivo via FTP

Pues aqui dejo una sencilla funcion para descargar un archivo mediante FTP, recive como parametros el nombre del archivo a descargar, el nombre que tendra despues de la descarga, el nombre de usuario ,el password de conexion, y la direccion del servidor, devuelve un booleano para saber que se completo la descarga.

----------------------CODIGO-------------------------------------

Private Function DescargaArchivo(ByVal Filename As String, ByVal NewFileName As String, _

ByVal UserNameFtp As String, ByVal PassFTP As String, ByVal URI As String) As Boolean


Dim Ftpconection As FtpWebRequest = CType(FtpWebRequest.Create(URI & "/" & Filename), FtpWebRequest)

' Creamos la nueva conexion del tipo web request donde URI es la direccion del servidor

Ftpconection.Credentials = New NetworkCredential(UserNameFtp, PassFTP)

'Asignamos las credenciales para el servidor

Ftpconection.Method = WebRequestMethods.Ftp.DownloadFile

'El metodo que utilizaremos como peticion, en este cado el de descargar

Try

Dim response As System.Net.FtpWebResponse = CType(Ftpconection.GetResponse, System.Net.FtpWebResponse)

Dim responseStr As IO.Stream = response.GetResponseStream

'guardamos el stream de datos

Dim fstr As New IO.FileStream(NewFileName, IO.FileMode.Create)

Dim buffer(2047) As Byte 'Buffer de transferencia

Dim ReadStream As Integer = 0

Do

ReadStream = responseStr.Read(buffer, 0, buffer.Length) 'leemos el stream de los datos

fstr.Write(buffer, 0, ReadStream) 'escribimos en el archivo

Loop Until ReadStream = 0

responseStr.Close() 'cerramos los archivos y las conexiones

fstr.Flush()

fstr.Close()

responseStr.Close()

response.Close()

Return True

Catch ex As Exception

Return False

End Try


End Function

----------------------CODIGO-------------------------------------

Este codigo requiere que agregemos la referencia

Imports System.Net

Ejemplo probado en Visual studio 2008