公司部署在服务器上的项目,上传头像功能以前一直没有问题,突然上传的图片都打不开显示不了,打开文件报系统文件错误,项目无报错。
但是自己本地的项目运行起来上传的图片都没有问题。排查问题后发现上传过程中保存到本地的图片文件都是正常的,上传到ftp上后的文件损坏。
解决方案: 在创建ftpClient后设置ftpClient.enterLocalPassiveMode();
ftpServer可能每次开启不同的端口来传输数据,可能因为端口阻塞出现错误。这个方法的意思就是每次数据连接之前,ftpClient都会告诉ftpServer开通一个端口来传输数据。