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.