关于vert.x流式接收文件
当前基于vert.x找到一个流式接收文件的例子(下面的代码可能不是特别严谨,我只是用来测试下流式接收。),但是又来了一个问题,当前vert.x这种异步编程框架在rest的处理里面是不能阻塞的吧?
我下面这个router里的rest接收的文件可能很大,这个rest请求会阻塞其他的rest吗?
// rawbinary
router.route(HttpMethod.POST, "/upload").handler(routingContext -> {
String length = routingContext.request().headers().get("Content-Length");
System.out.println("Content-Length: " +length);
// 限制Content-Length大小
// To do
routingContext.request().handler(buffer -> {
System.out.println("I have received a chunk of the body of length " + buffer.length(
));
FileOutputStream fos = null;
// 开一个流写文件
try {
fos = new FileOutputStream(new File("D://aim_upload1//"+ "test.txt"),true);
fos.write(buffer.getBytes(),0,buffer.length());
fos.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你好博主,我代码到这里进不进去 是什么原因?