2011-07-27 22 views
1

ApacheのFTPClient 3.0.1を使用して、リモートサーバに破損Jarファイルをアップロードしているようです。また、ファイルとファイルの転送タイプをバイナリに設定しています。Apache FTPClientアップロードjarファイルが破損して終了する

FTPClient ftp = new FTPClient(); 

FileInputStream fis = new FileInputStream("filename"); 
ftp.setFileTransferMode(org.apache.commons.net.ftp.FTP.BINARY_FILE_TYPE); 
ftp.setFileType(FTPClient.BINARY_FILE_TYPE); 
ftp.storeFile(fis); 
fis.close(); 
ftp.logout(); 
ftp.disconnect(); 

任意の助けいただければ幸いです!

ジェイソン

+0

テキストファイルは正しく転送されますか? –

答えて

0

しようとするいくつかの点:

あなたがいることを絶対に100%陽性であり:

A)storeFileは()あなたがどこかに例外をスローしていない)真 Bを返している

これをデバッガでステップ実行すると、ルーチン内の各呼び出しが完了し、ファイルはFTPサーバー上で部分的に巻き込まれますか?

ファイルのどの部分がftpサーバに到達していませんか?バイト0-255が5または10回繰り返されたテストファイルを作成し、それをアップロードしてみてください。結果をダウンロードして、何が殺されているのかを見てください。私は問題はsetFileType(FTP.BINARY_FILE_TYPE)を使用して解決した、同じ問題を持っている

+0

ファイルがサーバーに到達しています。私はそれを確信していますが、それはちょうど壊れてしまいます。アップロードされたサイズも少し奇妙です。 – jason

+0

ファイルを開いてバイトごとに比較すると、結果はどうなりますか?言い換えれば、腐敗を特徴付けることです。 –

4

client.connect(this.HOST); 
client.login(USER, PASSWORD); 
client.setFileType(FTP.BINARY_FILE_TYPE); 
2

私は、私の場合、解決策はないの前に、ログイン後client.setFileType(FTP.BINARY_FILE_TYPE);を使用していた、同じ問題を抱えていました。