Autor Tema: Enviar archivo por SFTP  (Leído 5811 veces)

0 Usuarios y 1 Visitante están viendo este tema.

javierjava

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +6/-0
    • Ver Perfil
Enviar archivo por SFTP
« 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.   

Luffy

  • Kilobyte
  • **
  • Mensajes: 90
  • Reputación: +4/-2
  • Desarrollar es el arte de crecer no de crear.
    • Ver Perfil
Re:Enviar archivo por SFTP
« Respuesta #1 en: Agosto 21, 2014, 01:26:26 pm »
Buen día, pues yo tengo este código que diseñamos en la empresa:

Código: (vb) [Seleccionar]

   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

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Enviar archivo por SFTP
« Respuesta #2 en: Agosto 21, 2014, 01:30:35 pm »
Puedes usar la libreria de WinSCP. Reinventarlo es muy tedioso x'D (ssh... SSL/TLS...  ::) ::))

WinSCP .NET Assembly and COM Library

javierjava

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +6/-0
    • Ver Perfil
Re:Enviar archivo por SFTP
« Respuesta #3 en: Agosto 26, 2014, 05:26:30 pm »
Gracias por la ayuda pero no consigo utilizar el WinSCPnet.dll no me conecta con el servidor  :(

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Enviar archivo por SFTP
« Respuesta #4 en: Agosto 26, 2014, 11:28:52 pm »
Tenes que tener el WinSCP instalado. Proba desde ahi a ver si te conecta (tambien libera el firewall de windows si no lo hiciste)