2

Java クラスの FTP サーバーにファイルをアップロードしようとしています。私はApacheライブラリを使用しています: org.apache.commons.net.ftp.FTPClient. XLS (Excel) ファイルをアップロードしようとするまで、アップロード機能は正常に機能します。特にアップロードすると、ファイルはアップロードされますが、破損しているようです。実際、そのサイズは元のサイズとは異なり、開こうとすると、正しく開かず、すべてのデータが表示されません。

ここに私が使用するコードの一部があります:

FTPClient ftpClient = new FTPClient();
File[] fileList;fileList = localFilePath.listFiles();
for (File file : fileList) {
    String fileName = file.getName();
    FileInputStream fileInputStream = new FileInputStream(file);
    ftpClient.storeFile(fileName, fileInputStream);
    fileInputStream.close();
}

どうぞよろしくお願いいたします。

4

1 に答える 1

4

このスレッドの提案を使用して問題を解決しました。

apache commons-net FTPClientで生のバイナリを転送しますか?

私がする必要があったのは、非 .txt ファイルのバイナリ ファイル モードを設定することだけでした。

if (fileExtension.equals("txt")) {
    ftpClient.setFileType(FTPClient.ASCII_FILE_TYPE);
} else {
    ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
}
于 2011-09-15T07:59:32.050 に答える