栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Express.js原始主体

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Express.js原始主体

express
除非添加中间件,否则默认值不会缓冲数据。一种简单的解决方案是按照下面@Stewe的答案中的示例进行操作,该示例将自己连接所有数据。例如

var concat = require('concat-stream');app.use(function(req, res, next){  req.pipe(concat(function(data){    req.body = data;    next();  }));});

不利的一面是,您现在已将所有POST正文内容作为连续的块移到RAM中,这可能不是必需的。另一个选项值得考虑,但取决于您需要在帖子正文中处理多少数据,而是将数据作为流处理。

例如,对于XML,您可以使用XML解析器,该解析器支持对XML(以大块形式出现)进行解析。XML
Stream
是这样一种解析器。您可以执行以下操作:

var XmlStream = require('xml-stream');app.post('/', function(req, res) {  req.setEncoding('utf8');  var xml = new XmlStream(req);  xml.on('updateElement: sometag', function(element) {    // DO some processing on the tag  });  xml.on('end', function() {    res.end();  });});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号