Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

Conectar servidor FTP

Recommended Posts

Bom dia estou querendo conectar a um servidor de FTP (SFTP)

Achei alguns componentes pagos que resolveram por hora isso, mas necessito de algo Free ou diretamente no código

 

Sei que existe uma classe FtpWebRequest, mas não sei como utilizar. Alguém possui algum tutorial (preferencia em português) de como utilizar isso?

 

Trabalho com VS2008 + WinForms + VB.NET

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia estou querendo conectar a um servidor de FTP (SFTP)

Achei alguns componentes pagos que resolveram por hora isso, mas necessito de algo Free ou diretamente no código

 

Sei que existe uma classe FtpWebRequest, mas não sei como utilizar. Alguém possui algum tutorial (preferencia em português) de como utilizar isso?

 

Trabalho com VS2008 + WinForms + VB.NET

 

 

Achei isso, mas me retorna esse erro

' set up request...
        Dim clsRequest As System.Net.FtpWebRequest = _
            DirectCast(System.Net.WebRequest.Create("ftp://ftp.myserver.com/test.txt"), System.Net.FtpWebRequest)
        clsRequest.Credentials = New System.Net.NetworkCredential("myusername", "mypassword")
        clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile

        ' read in file...
        Dim bFile() As Byte = System.IO.File.ReadAllBytes("C:\Temp\test.txt")

        ' upload file...
        Dim clsStream As System.IO.Stream = _
            clsRequest.GetRequestStream()
        clsStream.Write(bFile, 0, bFile.Length)
        clsStream.Close()
        clsStream.Dispose()

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua rede utiliza proxy?

 

Abraços...

 

Utiliza sim. Mas consegui resolver com essa função

Public Function EnviaFTP(ByVal sArquivo As String) As Boolean
        Dim success As Boolean

        'Utilizando o WinSCP para enviar o arquivo
        Dim winscp As Process = New Process
        winscp.StartInfo.FileName = "C:\Arquivos de Programas\WinSCP\winscp.com"
        winscp.StartInfo.Arguments = "/log=" & logName
        winscp.StartInfo.UseShellExecute = False
        winscp.StartInfo.RedirectStandardInput = True
        winscp.StartInfo.RedirectStandardOutput = True
        winscp.StartInfo.CreateNoWindow = True
        winscp.Start()

        winscp.StandardInput.WriteLine("option batch abort")
        winscp.StandardInput.WriteLine("option confirm on")
        winscp.StandardInput.WriteLine("open CrescaBR")
        winscp.StandardInput.WriteLine("ls")
        winscp.StandardInput.WriteLine("put " & sArquivo)
        winscp.StandardInput.Close()

        Dim output As String = winscp.StandardOutput.ReadToEnd()

        winscp.WaitForExit()

        Dim log As XPathDocument = New XPathDocument(logName)
        Dim ns As XmlNamespaceManager = New XmlNamespaceManager(New NameTable())
        ns.AddNamespace("w", "http://winscp.net/schema/session/1.0")
        Dim nav As XPathNavigator = log.CreateNavigator()

        If winscp.ExitCode <> 0 Then
            MessageBox.Show("Erro")

            For Each message As XPathNavigator In nav.Select("//w:message", ns)
                MessageBox.Show(message.Value)
            Next
            success = False
        Else
            success = True
        End If

        Return success

    End Function

É necessário ter instalado o WinSCP e configurado no Cliente.

 

Fico no aguardo de tecnologias (preferencia Free) sem a necessidade de instalar programas de terceiros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.