none
Envio FTP RRS feed

  • Pergunta

  • Gostaria de enviar determinado arquivo da pasta C:/Ghostprotection/Relatorios/Screenshot.jpg para meu diretório FTP, que depende do que é digitado no Textbox de outros forms. Ou seja, quero que Screenshot seja enviada para ftp://ftp.meusite.com/matchid/ Form2.Textbox.Text & Form4.TextBox.Text entende? Tentei usar esse código, mas da erro de nome de arquivo não permitido:

    Public Sub SENDFTP()
            Dim args(3) As String
    
            args(0) = "ftp://ftp.ghostprotection.site11.com/matchid/" & (Form2.txtURL.Text) & (Form4.txtURL.Text) & "screenshot.jpg"
    
            args(1) = "c:\GhostProtection\relatorios\screenshot.jpg"
    
            args(2) = "USER"
    
            args(3) = "SENHA"
    
    
    
            Dim target As Uri = New Uri(args(0))
    
            Dim fileName As String = args(1)
    
            Dim request As FtpWebRequest = CType(FtpWebRequest.Create(target), FtpWebRequest)
    
            request.Method = WebRequestMethods.Ftp.UploadFile
    
            request.UseBinary = True
    
            Dim FS As New FileStream(args(1), FileMode.Open)
    
            Dim br As BinaryReader = New BinaryReader(FS)
    
            Dim buffer() As Byte = br.ReadBytes(CInt(FS.Length))
    
            br.Close()
    
            FS.Close()
    
            request.ContentLength = buffer.Length
    
            request.Credentials = New NetworkCredential(args(2), args(3))
    
            Dim requestStream As Stream = request.GetRequestStream
    
            requestStream.Write(buffer, 0, buffer.Length)
    
            requestStream.Close()
    
            Dim response As FtpWebResponse = CType(request.GetResponse, FtpWebResponse)
    
            response.Close()
        End Sub
    Alguem pode porfavor me ajudar?

    segunda-feira, 19 de outubro de 2015 00:16

Respostas

  • Bom dia,

    dê uma olhada nesse exemplo e tente dessa forma:

    http://www.macoratti.net/14/02/c_ftp1.htm

    o código está em C#, converta para VB.NET aqui: http://www.developerfusion.com/tools/convert/vb-to-csharp/

    • Marcado como Resposta Marcos SJ segunda-feira, 19 de outubro de 2015 12:25
    segunda-feira, 19 de outubro de 2015 10:43

Todas as Respostas

  • Bom dia,

    dê uma olhada nesse exemplo e tente dessa forma:

    http://www.macoratti.net/14/02/c_ftp1.htm

    o código está em C#, converta para VB.NET aqui: http://www.developerfusion.com/tools/convert/vb-to-csharp/

    • Marcado como Resposta Marcos SJ segunda-feira, 19 de outubro de 2015 12:25
    segunda-feira, 19 de outubro de 2015 10:43
  • Cara não ajudou porque não sei onde boto o diretório do arquivo a ser enviado. Você tem skype  pra me ajudar ? Obrigado
    segunda-feira, 19 de outubro de 2015 20:05
  • Como assim? o arquivo a ser enviado pode estar em qualquer lugar da máquina ou da rede, ele será enviado a um FTP previamente configurado.

    Você está usando Windows Forms ou ASP.NET?

    nesse trecho de código, ficaria assim por exemplo:

     FileInfo arquivo = new FileInfo("c:\GhostProtection\relatorios\screenshot.jpg");

    Esse link mostra mais um bom exemplo em como acessar um FTP via C#

    http://cbsa.com.br/post/listar-arquivos-fazer-upload-e-download-de-ftp-em-c---aspnet.aspx

    segunda-feira, 19 de outubro de 2015 21:47
  • Eu gostaria de que a Screenshot.jpg fosse enviada para meusite.com/ "O que foi digitado no form2.Textbox.Text / Form4.Textbox.Text . Eu gostaria que a screenshot fosse para esse diretório entende.

    A ordem das forms é ao contrario. Começa Na Form4, vai para 2 depois pra 1 .

    terça-feira, 20 de outubro de 2015 00:10
  • Pode postar o que o usuário está digitando nos forms? ou posta o caminho FTP já concatenado...o caminho digitado pelo usuário existe?! e por que vc está colocando o screenshot.jpg no final do endereço do FTP? no caso você vai pegar um determinado arquivo e "upar" para uma pasta...como se fosse copiar e colar!

    terça-feira, 20 de outubro de 2015 10:52
  • Ah sim, bom o que o usuario digita depende. No meu teste eu to digitando no Form4 um código gerado pelo proprio programa (Hardware ID) E no form2 eu digito 2029

    Exemplo de hardware id: 1234

    No caminho deverá ficar

    site.com/2029/1234/Screenshot.jpg

    O caminho  até 2029 existe, mas de 1234 até adiante não. Obrigado

    terça-feira, 20 de outubro de 2015 13:35