Para subir un archivo usando el protocolo FTP desde una aplicación ASP.NET 2, utiliza la clase FtpWebRequest
.
No olvides importar System.IO
y System.Net
al inicio de tu código:
- Imports System.Net
- Imports System.IO
Este es el código para subir el archivo:
- 'Subir Archivo por FTP
- ' Configurar el Request
- Dim ElRequest As FtpWebRequest = DirectCast(WebRequest.Create("ftp://servidorejemplo.com/folder1/archivo.zip"), FtpWebRequest)
- ElRequest.Credentials = New NetworkCredential("usuario", "password")
- ElRequest.Method = WebRequestMethods.Ftp.UploadFile
- ' Leer archivo
- Dim BufferArchivo() As Byte = File.ReadAllBytes("D:Inetpubwwwrootarchivo.zip")
- ' Subir archivo
- Dim ElStream As System.IO.Stream = ElRequest.GetRequestStream()
- ElStream.Write(BufferArchivo, 0, BufferArchivo.Length)
- ElStream.Close()
- ElStream.Dispose()
Solamente tienes que utilizar tus datos reales para la ruta del ftp, ruta local, nombre de usuario y contraseña.
Nota:
Si te sale este error:
Unable to cast object of type 'System.Net.FileWebRequest' to type 'System.Net.FtpWebRequest'
Quiere decir que estás haciendo algo similar a esto:
DirectCast(WebRequest.Create("c:\folder1\archivo.zip")
Escribe la ruta usando ftp://
en vez de c:
y se solucionará el error antes mencionado.