FTPClient.storeFile返回false的原因

欧阳小白 4月前 ⋅ 161 阅读

FTPClient.storeFile()返回false的原因
Debug搞了一晚上,什么都看过了,最后总算是自己茅塞顿开发现了问题。
FTPClient会返回false的原因有很多,

首先有编码错误的,要加上:
ftpClient.setControlEncoding("UTF-8");

其次有没有启动被动模式的:
ftpClient.enterLocalPassiveMode();

但要是到这里你还是没解决问题的话,你就要按这个步骤排查一下问题了:

请你尝试一下用浏览器/资源管理器/其他ftp客户端进入你的ftp的ip地址,如果进不去那就可能是ftp没有打开或者服务器有防火墙你没设置好端口。

如果你可以进入ftp的ip地址并查看里面的内容,说明ftp链接正常,那么好好看看你的ftpClient.changeWorkingDirectory(path)里的path参数是什么吧,然后到相应的服务器去查看ftp文件夹的权限,如图:

这样问题就很明显了,我上传的文件夹的所属仍然是root的,而不是我自己定义的ftp的用户,那么我肯定会上传不上去。
这时候只要

#chown ftpuser.ftpuser box_images

便完事了。


全部评论: 0

    我有话说:

    咨询问题

    点击这里给我发消息

    淘宝咨询

    博主承接代做业务

    真·送云服务器

    咨询博主