1. 卡死在ftpClient.storeFile(),ftpClient.listFiles()或者ftpClient.retrieveFile()方法时的问题
需要设置ftpClient.enterLocalPassiveMode();
这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据。为什么要这样做呢,因为ftp server可能每次开启不同的端口来传输数据,但是在linux上或者其他服务器上面,由于安全限制,可能某些端口没有开启,所以就出现阻塞。OK,问题解决。
2. 上传文件后无法打开或者压缩文件损坏
一般上传文本文件是没有问题的,上传压缩包或者其它进制文件就会出问题。
需要设置ftpClient.setFileType(FTP.BINARY_FILE_TYPE);并且该设置要放在ftpClient.enterLocalPassiveMode()之后。