上周给河北一客户做一个数据导入功能,报错后将错误log日志及报错的文件上传到FTP上,方便追溯。用的jdk1.6,在网上找了个jar包,本地测试的时候一切顺利,就让客户那边测试,测试发现报错后log日志能传上去,原文件一直传不上去。我们用的FTP服务器是公司的,客户用的是他们自己搭的FTP服务器,所以我们就连了下客户的FTP进行调试:

FTP文件上传失败

发现FTPClient.storeFile();这个方法返回了false,

FTP文件上传失败

跟进去发现连接模式为被动模式并且在创建服务器连接时这个ip地址是本地局域网ip,端口号也没有。所以就想到了连接问题,找到__dataConnectionMode赋值的地方,确认应该使用enterLocalPassiveMode()这个方法。调用下FTPClient.enterLocalPassiveMode();放在FTPClient.storeFile()方法前面再次测试:

FTP文件上传失败

这次连接服务器的ip也变成了客户服务器的ip,端口也新开了一个,上传文件成功。


https://mp.weixin.qq.com/s/7c4hYX2WoFaA2-fDBLmJAA


相关文章:

  • 2021-11-30
  • 2021-11-17
  • 2021-05-17
  • 2022-01-12
  • 2021-09-11
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-14
  • 2021-08-20
  • 2022-01-05
  • 2022-02-09
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案