2

I seem to be uploading corrupt jar files to a remote server using Apache's FTPClient 3.0.1. I am also setting the file and file transfer type to binary.

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();

any help would be appreciated!

Jason

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 服务器?创建一个包含重复 5 或 10 次的字节 0-255 的测试文件,然后尝试上传。然后下载结果,看看什么被杀死了。

于 2011-07-27T02:34:36.807 回答