Se estiver usando o Windows, não se esqueça de setar o FTP no modo binário
A
alissonvla
cara,
se essa sua ftp te retornar um InputStream, vc pode usar esse metodo que eu to te passando, acho q resolve seu problema.
publicstaticvoidcopiarArquivo()throwsException{BufferedOutputStreamout=null;try{InputStreamstream=//o arquivo em streamBufferedInputStreamin=newBufferedInputStream(stream);FileOutputStreamfile=newFileOutputStream("Nome Arquivo");out=newBufferedOutputStream(file);inti;while((i=in.read())!=-1){out.write(i);}out.flush();}catch(Exceptione){e.printStackTrace();throwe;}finally{if(out!=null){out.close();}}}
t+
L
lucasafonsobello
O que descobri até então, é que o problema é no Stream, já que se eu usar um arquivo .txt convertido para PDF, ele abre normalmente. Dá problema quando tem imagem no meio.
L
lucasafonsobello
Como seta o ftp em modo binário?
L
lucasafonsobello
Funcionou bem para arquivos locais, só que o meu problema é não conseguir trazer o arquivo hospedado no FTP de forma integra. Não achei método algum de trocar de modo texto para modo binário.
alissonvla:
cara,
se essa sua ftp te retornar um InputStream, vc pode usar esse metodo que eu to te passando, acho q resolve seu problema.
publicstaticvoidcopiarArquivo()throwsException{BufferedOutputStreamout=null;try{InputStreamstream=//o arquivo em streamBufferedInputStreamin=newBufferedInputStream(stream);FileOutputStreamfile=newFileOutputStream("Nome Arquivo");out=newBufferedOutputStream(file);inti;while((i=in.read())!=-1){out.write(i);}out.flush();}catch(Exceptione){e.printStackTrace();throwe;}finally{if(out!=null){out.close();}}}
t+
L
lucasafonsobello
É muito simples!
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
Resolveu todo o problema abraço aos que ajudaram!
E
entanglement
Falta de olhar na documentação. Estou supondo que você esteja usando o FTPClient: