busboy没有定义connect-busboy和express

时间:2015-03-24 06:29:17

标签: javascript node.js express busboy

我正在使用expressjs 4.12.3,并尝试连接到connect-busboy,但是根据要求我无法获得req.busboy对象,它说“undefined”我的简单代码如下:

var express=require('express');
var busboy = require('connect-busboy');
var app=express();
app.use(busboy());

app.use(function(req, res, next) {
   req.busboy.on('field', function(fieldname, val) {
     // console.log(fieldname, val);
     req.body[fieldname] = val;
   });

   req.busboy.on('finish', function(){
     next();
   });
 });
 
 app.listen(5555);

我已初始化busboy模块,将其分配给应用程序,也发送 内容长度:“5276” content-type:'application / x-www-formurlencoded'作为标题。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题是您正在设置事件处理程序,但您实际上并未将请求传递给 busboy,因此它可以解析请求。在你的busboy事件处理程序之后添加req.pipe(req.busboy);,它应该可以正常工作。

编辑:我稍微误解了您的问题。如果req.busboyundefined,则表示Content-Type错误。如果您的Content-Type 确实是 application/x-www-formurlencoded,那就错了。 application/x-www-form-urlencoded