码迷,mamicode.com
首页 > Web开发 > 详细

Node.js Express 获取request原始数据

时间:2014-11-01 00:58:16      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:blog   io   os   ar   java   sp   数据   div   on   

app.use(bodyParser.json());
客户端请求接口时如果指名请求头类型 为Content-Type=application/json
bodyParser 会自动将 body 里的 json 格式数据正确解析,

// bodyParser 依赖 raw-body 库,raw-body库里面有这样一段代码

function cleanup() {
   received = buffer = null
   stream.removeListener(‘data‘, onData)
   stream.removeListener(‘end‘, onEnd)
   stream.removeListener(‘error‘, onEnd)
   stream.removeListener(‘close‘, cleanup)
}

  


这样导致在express里面req监听on, end事件是不会执行的.要想在express里面拿到request的原始数据

可以再注册bodyPaser之前先把原始数据保存起来.代码如下:

app.use(function(req, res, next){
    var reqData = [];
    var size = 0;
    req.on(‘data‘, function (data) {
        console.log(‘>>>req on‘);
       reqData.push(data);
        size += data.length;
    });
    req.on(‘end‘, function () {
        req.reqData = Buffer.concat(reqData, size);
    });
    next();
});

app.use(bodyParser.json());
app.use(bodyParser.urlencoded());

  

 

Node.js Express 获取request原始数据

标签:blog   io   os   ar   java   sp   数据   div   on   

原文地址:http://www.cnblogs.com/hubcarl/p/4066183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!