1.确认登录用户是否有文件夹的权限
2.在确定路径和文件名没有中文的情况下添加以下代码
ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE);// 设置上传文件的类型为二进制类型
ftp.enterLocalPassiveMode();设置成被动模式
Store = ftp.storeFile(destinationfile, in);
in.close();
3.如果仍然返回false
# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问
# setsebool -P allow_ftpd_full_access on
# setsebool -P ftp_home_dir on
注意:
命令行输入 sudo setsebool -P ftp_home_dir 1
如果发现报错:Boolean ftp_home_dir is not defined
原因是CentOS7开始用 tftp_home_dir 来代替了 ftp_home_dir ,所以应该修改如下:
sudo setsebool -P tftp_home_dir 1