关于FTP文件下载以及上传问题

 项目背景:java语言,使用springboot集成X-File,配置了minio,ftp。

 问题描述:

1、使用ftp下载文件时遇到第一个文件下载成功,第二个文件为空的问题

2、解决第二个问题后,文件上传至minio时,从第二个文件开始后面多个文件损坏

解决办法:

1:代码中添加

InputStream inputStream = ftpClient.retrieveFileStream(fileName);
            //todo
            inputStream.close();
            ftpClient.completePendingCommand();

首先关闭流;completePendingCommand() 方法会发送一个命令到 FTP 服务器,然后等待服务器的响应。如果服务器返回的响应表示命令执行成功,那么这个方法会返回 true;否则返回 false。

在方法内部,它调用了 this.getReply() 方法来获取服务器的响应,然后使用 FTPReply.isPositiveCompletion() 方法来判断响应是否表示命令执行成功。

这个方法通常用于确保文件传输的完整性,例如在上传或下载文件后,可以调用这个方法来确认文件传输已经完成。

2:设置ftp的文件类型

ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

在FTP协议中,常见的文件类型有ASCII文件类型和二进制文件类型。ASCII文件类型用于传输文本文件,而二进制文件类型用于传输非文本文件,如图像、音频等二进制文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值