Java FTP xls文件上传

时间:2011-09-14 14:36:25

标签: java file-upload ftp ftp-client apache-commons-net

我正在尝试将文件上传到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();
}

非常感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:4)

我使用此主题中的建议解决了问题:

Transfer raw binary with apache commons-net FTPClient?

我需要做的就是为非.txt文件设置二进制文件模式:

if (fileExtension.equals("txt")) {
    ftpClient.setFileType(FTPClient.ASCII_FILE_TYPE);
} else {
    ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
}