如何在Node.js中处理XHR Blob帖子

斯蒂芬·雅科文科(Stepan Yakovenko)

客户代码:

var xhr = new XMLHttpRequest();
xhr.open('POST', '/frame', true);
xhr.send(blob);

服务器代码:

app.use(bodyParser.urlencoded({extended: false,limit: '50mb'}));
app.post('/frame', function (req, resp) {
    console.log(req.body);
});

这给PayloadTooLargeError:添加了太多参数

xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');

无法解决问题。还有其他想法吗?

耶尼尔

假设您的blob变量不是真正的url编码表单数据,而仅仅是任何形式的内容。然后,在服务器端,您可以只读取请求流的传入流。请记住,事件处理程序req变量http.Server.request是可读的流。这将消除body-parser中间件施加的任何大小限制保留原始客户端代码,然后保留服务器代码为:

// app.use(bodyParser.urlencoded({extended: false,limit: '50mb'}));

app.post('/frame', function (req, resp) {
  req.on('readable', function(){
    console.log(req.read());
  });
});

如果内容太大,则处理流式处理请求是一个好主意,即使对于结构化数据也是如此。例如,在过去,当我将body-parser#json中间件与大json请求一起使用时,我遇到了性能问题,并解决了删除body-parser#json中间件并使用oboe解析流输入的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何在Node.js中获取帖子数据?

来自分类Dev

如何在Node.js环境中处理用户代理?

来自分类Dev

如何在Node.js中处理异步函数

来自分类Dev

如何在Node.js中处理异步函数

来自分类Dev

如何在node.js中处理多个imap连接?

来自分类Dev

如何在Node.js中处理与集群的TCP连接

来自分类Dev

如何在Node.js中处理不同的文件类型

来自分类Dev

如何在node.js中将JSON数组转换为BLOB类型

来自分类Dev

如何在node.js中将JSON数组转换为BLOB类型

来自分类Dev

如何在Node.js中使用XHR API?

来自分类Dev

如何在MySQL中同时查询帖子和帖子赞?

来自分类Dev

如何在Django的帖子中添加图片

来自分类Dev

如何在帖子中获取get参数

来自分类Dev

如何在Django中创建预定帖子?

来自分类Dev

如何在Django帖子中添加评论

来自分类Dev

如何在php中修改帖子响应

来自分类Dev

如何在Python中编辑Facebook帖子?

来自分类Dev

如何在Sinatra中创建帖子按钮

来自分类Dev

如何在特定帖子中添加评论?

来自分类Dev

如何在 Django 中翻译帖子?

来自分类Dev

如何在JavaFX中处理Node焦点

来自分类Dev

一个ajax中的数据和文件-如何处理JS FormData发送的帖子

来自分类Dev

如何在Ember.js中仅显示帖子作者的帖子删除按钮

来自分类Dev

如何使Js在JS生成的帖子中工作?

来自分类Dev

如何使Js在JS生成的帖子中工作?

来自分类Dev

如何使用casperjs从XHR响应中捕获和处理数据?

来自分类Dev

如何在Node JS中打印对象

来自分类Dev

如何在node.js中搜索?

来自分类Dev

如何在Node js中创建图像?