Visual Basic Foro
Programación => Visual Basic .NET / C# => Mensaje iniciado por: javierjava en Agosto 20, 2014, 08:13:58 pm
-
Que tal tengo una duda sera posible subir archivos desde vb.net por medio de SFTP. estuve buscando en google y no encontré ningún ejemplo en planet sorce code encontré un ejemplo pero no funciona si alguien tiene información sobre el tema se lo agradecería.
-
Buen día, pues yo tengo este código que diseñamos en la empresa:
Public Sub Archivar(ByVal OrigenArchivo As String, ByVal NombreArchivo As String, ByVal ExtensionArchivo As String, ByVal GuardarEnCarpeta As Carpetas)
Dim Carpeta As String = String.Empty
Select Case GuardarEnCarpeta
Case Carpetas.FOTOSEMPLEADOS : Carpeta = "FotosEmpleados/"
End Select
Dim clsRequest As System.Net.FtpWebRequest
'Dim ConexSockets As Net.Sockets.TcpClient
clsRequest = DirectCast(System.Net.WebRequest.Create("ftp://direccion/" & Carpeta & NombreArchivo & ExtensionArchivo), System.Net.FtpWebRequest)
clsRequest.Proxy = Nothing ' Esta asignación es importantisimo con los que trabajen en windows XP ya que por defecto esta propiedad esta para ser asignado a un servidor http lo cual ocacionaria un error si deseamos conectarnos con un FTP, en windows Vista y el Seven no tube este problema.
clsRequest.Credentials = New System.Net.NetworkCredential("usuario", "contraseña") ' Usuario y password de acceso al server FTP, si no tubiese, dejar entre comillas, osea ""
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Dim bFile() As Byte = System.IO.File.ReadAllBytes(OrigenArchivo)
Dim clsStream As System.IO.Stream = _
clsRequest.GetRequestStream()
clsStream.Write(bFile, 0, bFile.Length)
clsStream.Close()
clsStream.Dispose()
End Sub
Espero te sirva
-
Puedes usar la libreria de WinSCP. Reinventarlo es muy tedioso x'D (ssh... SSL/TLS... ::) ::))
WinSCP .NET Assembly and COM Library (http://winscp.net/eng/docs/library)
-
Gracias por la ayuda pero no consigo utilizar el WinSCPnet.dll no me conecta con el servidor :(
-
Tenes que tener el WinSCP instalado. Proba desde ahi a ver si te conecta (tambien libera el firewall de windows si no lo hiciste)