java上传文件到ftp,能创建目录,但文件不能写入(FTPClient.enterLocalPassiveMode()的用法)

问题描述

之前在写文件上传到ftp服务器的java代码时,发现创建目录各项操作均正常,但在写入文件时无论如何都写入不进去,文件可以创建成功,无始终是0字节,论是通过FTPClient的storeFile还是通过输出流写入,都不起作用,后来发现是 数据连接模式的问题即:enterLocalPassiveMode()

FTPClient的数据传输模式enterLocalPassiveMode()

当在客户端和服务器之间进行数据传输时需使用该方法,启用该方法后,客户端在打开数据连接之前会向服务器发出PASV(或EPSV)命令,通知服务器将打开客户端链接到的数据端口来进行数据传输。

解决方式

即解决该问题的方式则是在FTPClient连接服务器成功后,设定为客户端对服务器的数据传输模式

FTPClient ftp = new FTPClient();
ftp.connect(host,port);
ftp.login(user,passWord);
ftp.enterLocalPassiveMode()
ftp.storeFile(reomte,InputStream);
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值