java使用Ftp上传文件卡死

luo10086csdn 2015-10-26 08:04:32
最近开发一个产品,需要向服务器传送文件,我们选择的是ftp,ftp上传模式是被动模式(Passive ),测试的时候没有任何问题,但是客户使用过程当中出现卡死(不定期,可能几天出现一次,也可能1个月一次),根据日志发现卡死位置就在ftp上传上面,请问各位有没遇见这种情况?分享一下经验。

注:使用该产品的客户很多。

上传代码如下:
public static boolean uploadFile(FtpTest ftpTest,String filename) {
String url=ftpTest.getFtpUrl();
int port=ftpTest.getFtpPort();
String username=ftpTest.getFtpUser();
String password=ftpTest.getFtpPsw();
String path="/";
boolean success = false;
FTPClient ftp = new FTPClient();
try {
InputStream input=new FileInputStream(ftpTest.getFtpUpPath()+"/"+filename);
int reply;
ftp.connect(url, port);//连接FTP服务器
ftp.login(username, password);//登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.enterLocalPassiveMode();
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) {
}
}
}
return success;
}
...全文
693 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
luo10086csdn 2015-10-28
  • 打赏
  • 举报
回复
ftp为什么就不稳定了
bhztltgg 2015-10-27
  • 打赏
  • 举报
回复
引用 楼主 luo10086csdn 的回复:
最近开发一个产品,需要向服务器传送文件,我们选择的是ftp,ftp上传模式是被动模式(Passive ),测试的时候没有任何问题,但是客户使用过程当中出现卡死(不定期,可能几天出现一次,也可能1个月一次),根据日志发现卡死位置就在ftp上传上面,请问各位有没遇见这种情况?分享一下经验。 注:使用该产品的客户很多。 上传代码如下: public static boolean uploadFile(FtpTest ftpTest,String filename) { String url=ftpTest.getFtpUrl(); int port=ftpTest.getFtpPort(); String username=ftpTest.getFtpUser(); String password=ftpTest.getFtpPsw(); String path="/"; boolean success = false; FTPClient ftp = new FTPClient(); try { InputStream input=new FileInputStream(ftpTest.getFtpUpPath()+"/"+filename); int reply; ftp.connect(url, port);//连接FTP服务器 ftp.login(username, password);//登录 reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } ftp.changeWorkingDirectory(path); ftp.enterLocalPassiveMode(); 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) { } } } return success; }
无论是WEB传文件还是服务器传文件都不建用FTP。不稳定不说未来也不好扩展。安全性也不是很好。
activexme 2015-10-27
  • 打赏
  • 举报
回复
怎么个传法?用户先把文件传到服务器A,服务器A再传B? 还是用户直接把服务器A的数据传到服务器B? 看你的代码,好像是直接在服务器上操作的,那就是第二种情况了?

50,687

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧