none
Upload de arquivos via FTP

    Discussão Geral

  • Olá Pessoa, estou tentando utilizar o código abaixo para realizar upload de um arquivo mas o programa sempre traz o erro. "The Request URI is invalid for this ftp Comand"

    Private Sub btenviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btenviar.Click
    
            Dim arquivoFonte As String
            Dim userName As String
            Dim password As String
    
            'Faz o upload do arquivo definido via FTP e 
            'salva em uma pasta da aplicação
            Dim readBuffer(4096) As Byte
            Dim contador As Integer
    
            Dim arquivoRequisitado As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://ftp.totalcontrole.net"), System.Net.FtpWebRequest)
    
            Dim respostaFTP As FtpWebResponse = Nothing
            Dim respostaStream As Stream = Nothing
            Dim arquivoSaida As FileStream = Nothing
            Dim pastaDestino As String
    
            arquivoFonte = "c:\teste.txt"
    
            ' ----- Obtem local onde irá salvar o arquivo
            pastaDestino = My.Computer.FileSystem.CombinePath(My.Application.Info.DirectoryPath, My.Computer.FileSystem.GetName(arquivoFonte))
    
            userName = "jefter"
            password = "paraiso"
    
    
            Try
                ' ----- Faz a conexao com o arquivo no site FTP
                arquivoRequisitado = DirectCast(System.Net.WebRequest.Create("ftp://ftp.totalcontrole.net"), System.Net.FtpWebRequest)
                arquivoRequisitado.Credentials = New System.Net.NetworkCredential(userName, password)
    
                arquivoRequisitado.KeepAlive = False
                arquivoRequisitado.UseBinary = True
    
                arquivoRequisitado.Method = System.Net.WebRequestMethods.Ftp.UploadFile
    
                ' ----- Abre um canal de transmissão para o arquivo
                respostaFTP = CType(arquivoRequisitado.GetResponse, FtpWebResponse)
                respostaStream = respostaFTP.GetResponseStream
                arquivoSaida = New FileStream(pastaDestino, FileMode.Create)
    
                ' ----- Salva o conteúdo do arquivo de saida bloco a bloco
                Do
                    contador = respostaStream.Read(readBuffer, 0, readBuffer.Length)
                    arquivoSaida.Write(readBuffer, 0, contador)
                Loop Until contador = 0
                MsgBox("Download completo! " & vbNewLine & arquivoFonte & vbNewLine & " em " & pastaDestino)
            Catch ex As Exception
                MsgBox("Erro durante a realização do FTP " + vbCrLf + ex.Message)
                Return
            End Try
    
            ' ----- libera recursos.
            respostaStream.Close()
            arquivoSaida.Flush()
            arquivoSaida.Close()
            respostaFTP.Close()
    
        End Sub
    domingo, 14 de junho de 2009 14:09