java使用ftp上传文件到linux服务器ftp.storeFile一直返回false的解决方法

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值