项目中使用到了FTPclient上传文件,在本地一切正常。
可是上传到java项目上传到服务器后,文件上传一直为空。
查阅资料:在JAVA中将FTPClient设置为被动模式即可解决问题。
ftpClient = new FTPClient();
ftpClient.setControlEncoding("utf-8");
ftpClient.connect(hostname, port); //连接ftp服务器
ftpClient.login(username, password); //登录ftp服务器
//设置为被动模式 (如果出现不能上传成功到情况请注释这一行 )
ftpClient.enterLocalPassiveMode();
调用FTPClient.enterLocalPassiveMode();这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据。为什么要这样做呢,因为ftp server可能每次开启不同的端口来传输数据,但是在linux上,由于安全限制,可能某些端口没有开启,所以就出现阻塞。
FTP被动模式和主动模式的区别
https://blog.youkuaiyun.com/SUNbrightness/article/details/89060263
本文介绍了一种在Java项目中解决FTP文件上传为空的问题的方法,通过设置FTPClient为被动模式来确保文件能够成功上传到服务器。
3661

被折叠的 条评论
为什么被折叠?



