为了账号安全,请及时绑定邮箱和手机立即绑定

Java Apache FTP 客户端 - 恢复损坏的上传

Java Apache FTP 客户端 - 恢复损坏的上传

米脂 2021-10-13 10:58:14
如果出现问题,我需要在我的 FTP 客户端中实现恢复上传。ftp在下面的示例中是 Apache FTPClient。public boolean upload(InputStream localFile, String remoteName, boolean createNew) {    if (StringUtils.isBlank(remoteName)) {        log.warn("Error while uploading file: localFile or remoteName is null");        return false;    }    synchronized (this) {        try {            if (createNew) {                return ftp.storeFile(remoteName, localFile);            } else {                return ftp.appendFile(remoteName, localFile); //todo is it right?            }        } catch (Exception ex) {            log.error(ex.getMessage(), ex);            return false;        }    }}因此,如果ftp.storeFile崩溃(例如,并非所有字节都已发送),我如何继续使用相同的文件上传InputStream?
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

  • 重新连接您的 FTP 会话(如果它也坏了);

  • 测试远程文件的大小,以确定有多少字节一直到远程磁盘(例如使用FTPClient.mlistFileSIZE命令 - 请参阅如何获取 FTPFile 的信息);

  • 寻找“输入流”回到那个点(虽然InputStream不支持寻找,所以你必须使用不同的流实现 - 或者重新打开InputStreamskip到位置);

  • 打电话FTPClient.appendFile


查看完整回答
反对 回复 2021-10-13
  • 1 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信