前提:使用客户端访软件FTP服务器对文件进行操作是OK的。
问题:在代码中执行FTPClient的changeWorkingDirectory(pathname)方法失败,debug代码的时候报550 Fial to change directoty。
changeWorkingDirectory方法执行返回falsehou 文件依然上传成功了,只不过上传的目录是vsftpd.conf中local_root指定的目录,而不是我们代码中指定的目录。
举个栗子:
我的代码: changeWorkingDirectory("/ftpfile/img") //返回false
nginx配置项:
vsftpd配置项:
So,这时候文件会上传到/ftpfile,然而我们在浏览器输入"nginx域名+文件名"想要访问上传的文件是访问不到的,因为/ftpfile/img下没有这个文件
解决方法:想要将文件存到我们指定的目录,就需要在配置文件中将chroot_local_user这一