在通过本地(windows环境)上传到FTP服务器时,视频大小都是正常。但将程序部署到服务器(linux环境)中后,程序上传到FTP的视频大小为0。通过查询发下需要增加 ftp.enterLocalPassiveMode(); 代码。并将此句代码放置连接FTP与登录FTP代码之间,放在其他位置无效。
try {
int reply;
ftp.connect(url, port);// 连接FTP服务器
**ftp.enterLocalPassiveMode();**
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);// 登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.makeDirectory(path);
ftp.changeWorkingDirectory(path);
ftp.makeDirectory(path1);
ftp.changeWorkingDirectory(path1);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}