Upload no commons-net truncando tamanho de arquivo

1 resposta
J

Olá,

Uso o comando abaixo do commons-net-2.0 para fazer upload de um arquivo:
retorno = this.ftp.storeFile(arquivo.getNomeArquivoDestino(), arquivoTransmitido);

Sendo o primeiro argumento o nome que dou ao arquivo ao ser criado remotamente, e, o segundo argumento o InputStream daonde leio o conteudo do arquivo a ser enviado, conforme a api.O valor de retorno fica true, o arquivo é enviado. Porém, ao verificar o tamanho do arquivo quando ele chega no local remoto, os ultimos 5 bytes são apagados!

Tentei contornar isso setando o buffer size do ftp para um tamanho maior do que 1024 bytes (tamanho default), usando algo parecido com:

this.ftp.setBufferSize((int)(arquivoTransmitido.tamanhoEmBytes() + (int)arquivoTransmitido.tamanhoEmBytes*0.1));

no caso o tamanho do arquivo que estava enviando era de 3315 bytes antes de enviar e na verificação apos o envio o tamanho ficou em 3309 bytes.

Alguém tem idéia do por quê isso acontece?

1 Resposta

T

FTP deve ser usado no modo BINARY para não alterar o arquivo. Veja na sua documentação como é que se faz para alterar o modo do FTP para BINARY.

Criado 17 de março de 2009
Ultima resposta 17 de mar. de 2009
Respostas 1
Participantes 2