1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > java mina文件传输_如何将Apache MINA FTP服务器中上传的文件重定向到数据库?

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

时间:2020-12-04 21:10:11

相关推荐

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 .

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。