java mina文件传输_如何将Apache MINA FTP服务器中上传的文件重定向到数据库?

您所指的 onDownloadStart 示例似乎已过时 . 首先,使用的 FtpletEnum 类是 ftplet-api 的早期版本的一部分 . 较新版本不再拥有它 . 至少我无法找到它 .

尽管如此,仍然可以从客户端获取上传的文件 . 当覆盖 DefaultFtplet 的 onUploadStart 方法时,您可以从会话中请求 DataConnection .

OutputStream outputStream = new ByteArrayOutputStream();

DataConnectionFactory connectionFactory = session.getDataConnection();

try {

DataConnection dataConnection = connectionFactory.openConnection();

dataConnection.transferFromClient(session, outputStream);

// now outputstream contains the uploaded file and you could

// store it in S3 if you wish

} catch (Exception e) {

e.printStackTrace();

} finally {

connectionFactory.closeDataConnection();

}

请记住,如果 onUploadStart 方法返回SKIP,您可能还必须通过响应代码通知客户端 . 来自Ftplet docs

将在文件上载之前调用此方法 . 文件名可以从请求参数中获取 . 我们可以从请求中获取数据输入流 . 这将在权限检查之前调用 . 在STOR命令期间调用此方法 . 如果该方法返回SKIP,则必须在处理之前和之后发送响应 . 例如,在打开数据输入流之前,该方法必须用响应代码150通知客户端 . 类似地,在数据传输之后,该方法必须用响应代码226通知客户端 . 如果有任何错误,则方法应该发送不同的响应代码,如450,425,426,551 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值