FTPClient上传后,文件内容为空的问题
程序在本机或者很多客户没有问题,但是在其中一个客户那里,FTP上传以后,只有文件名,但是文件内容为空。我看了操作权限,对于服务器上确实有上传和修改的权限,并且在IE里面打开FTP服务器,上传什么的都没有问题。
用的是apache的FTPclient。。。。org.apache.commons.net.ftp.FTPClient
FTP上传代码如下:
public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input,int id) {
boolean success = false;
FTPClient ftp = new FTPClient();
SystemStaticValue.xtzt.setZ_zs(SystemStaticValue.xtzt.getZ_zs()+1);
try {
int reply;
ftp.setConnectTimeout(1000);
ftp.connect(url, port);
success = ftp.login(username, password);
if(!success){
SystemStaticValue.FTP_boolean.put(id, false);
return success;
}
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
SystemStaticValue.FTP_boolean.put(id, false);
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
SystemStaticValue.xtzt.setZ_zc(SystemStaticValue.xtzt.getZ_zc()+1);
success = true;
SystemStaticValue.FTP_boolean.put(id, true);
} catch (
IOException e) {
e.printStackTrace();
Log.error_log.info(e.getMessage());
SystemStaticValue.FTP_boolean.put(id, false);
return false;
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
后来有想过可能是FTP的主动被动模式导致,但是我用server-u自己挂了个FTP服务器,设置了它的主被动,结果是如果模式不对,那么文件是彻底上传不上去,不存在只上传了文件名,不上传文件内容的情况。。。
求教各位大神,这种情况,可能是FTP服务器的哪个设置导致的?我的代码应该做些什么修改?
------解决方案--------------------哦,那我就接分....