none
Dúvida com FTP ativo RRS feed

  • Pergunta

  • Boas senhores, 

    Tenho que acessar um servidor FTP que esta com modo ATIVO.

    Via // no Explorer eu acesso.

    Agora via  código, esta processando sem erro mas o arquivo não chega do outro lado, pois rodo o programa e na sequência olho no Explorer e o arquivo não aparece...O que pode ser?

    Segue o código:

    string caminho = "ftp://xxx.xxx.xxx.xx/TesteFtp.txt";
    FtpWebRequest ftpRequest = (FtpWebRequest)FtpWebRequest.Create(caminho);
    
    ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;
    ftpRequest.Credentials = new NetworkCredential("usuario", "senha");
    ftpRequest.UsePassive = false;
    ftpRequest.UseBinary = true;
    ftpRequest.KeepAlive = false ;
    ftpRequest.Proxy = null;
    
    string Caminho2 = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
    FileStream arquivo = File.OpenRead(Caminho2 + "\\TesteFtp.txt");
    byte[] buffer = new byte[arquivo.Length];
    
    arquivo.Read(buffer, 0, buffer.Length);
    arquivo.Close();
    
    Stream reqStream = ftpRequest.GetRequestStream();
    reqStream.Write(buffer, 0, buffer.Length);
    reqStream.Close();

    terça-feira, 17 de novembro de 2015 20:28

Respostas

  • Fiz um novo teste....e percebi se logar novamente via //, o arquivo aparece...tem alguma coisa de atualização...


    • Marcado como Resposta Marcos SJ quarta-feira, 18 de novembro de 2015 17:37
    • Não Marcado como Resposta DET1 quarta-feira, 2 de dezembro de 2015 20:02
    • Marcado como Resposta Marcos SJ quinta-feira, 3 de dezembro de 2015 16:13
    quarta-feira, 18 de novembro de 2015 12:59

Todas as Respostas

  • Fiz um novo teste....e percebi se logar novamente via //, o arquivo aparece...tem alguma coisa de atualização...


    • Marcado como Resposta Marcos SJ quarta-feira, 18 de novembro de 2015 17:37
    • Não Marcado como Resposta DET1 quarta-feira, 2 de dezembro de 2015 20:02
    • Marcado como Resposta Marcos SJ quinta-feira, 3 de dezembro de 2015 16:13
    quarta-feira, 18 de novembro de 2015 12:59
  • Abrindo a questão novamente, estou com problema no mesmo cenário, com diferença que preciso pegar a data da criação do arquivo no mesmo ftp acima....

    o codigo utilizado é o seguinte:

    FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create(caminho);
    request2.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

    request2.Credentials = new NetworkCredential('usuario''senha');

    FtpWebResponse response = (FtpWebResponse)request2.GetResponse();

    Stream responseStream = response.GetResponseStream(); ****Aqui da erro****
    StreamReader reader = new StreamReader(responseStream);

    Erro recebido:

    O servidor retornou um endereço em resposta ao comando PASV, que é diferente do endereço com o qual a conexão de FTP foi estabelecida

    quarta-feira, 2 de dezembro de 2015 20:02
  • DET1,Você tem um novo problema, abra uma nova thread.

    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 3 de dezembro de 2015 16:15