2

ApacheのFTPClient3.0.1を使用して、破損した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();

どんな助けもいただければ幸いです!

ジェイソン

4

3 に答える 3

5

私は同じ問題を抱えています、問題はsetFileType(FTP.BINARY_FILE_TYPE)を使用して解決されました:

client.connect(this.HOST);
client.login(USER, PASSWORD);
client.setFileType(FTP.BINARY_FILE_TYPE);
于 2012-04-13T21:00:05.243 に答える
3

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

于 2015-07-27T13:40:24.843 に答える
0

試すべきいくつかのこと:

あなたは絶対に100%ポジティブですか?

a)storeFile()がtrueを返しているb)どこかに例外をスローしていない

デバッガーでステップスルーすると、ルーチンの各呼び出しが完了しますが、ファイルはftpサーバー上で部分的に終了しますか?

ファイルのどの部分がftpサーバーに到達していませんか?0〜255バイトを5〜10回繰り返したテストファイルを作成し、アップロードしてみてください。次に、結果をダウンロードして、何が殺されているかを確認します。

于 2011-07-27T02:34:36.807 に答える