【问题标题】:getting body with express busboy与快递员一起得到身体
【发布时间】:2015-05-21 14:39:47
【问题描述】:

我正在尝试使用 busboy 中间件从 POST 请求中获取正文。

我在主 server.js 中有以下内容

//file upload middleware
var busboy = require('connect-busboy');
app.use(busboy());

我的路线设置如下:

app.post('/create', function(req, res){

    req.pipe(req.busboy);
    req.busboy.on('finish', function (fieldname, file, filename) {
        console.log(req.body);
    });

});

但是如果我向端点发送请求,我会收到以下错误:

_stream_readable.js:501
    dest.end();
         ^
TypeError: Cannot call method 'end' of undefined
    at IncomingMessage.onend (_stream_readable.js:501:10)
    at IncomingMessage.g (events.js:180:16)
    at IncomingMessage.emit (events.js:92:17)
    at _stream_readable.js:943:16
    at process._tickCallback (node.js:419:13)

我如何阅读这条路线内部的正文?

【问题讨论】:

    标签: node.js express busboy


    【解决方案1】:

    您的finish 事件处理程序错误。它看起来像是一个错字,应该是 file 事件处理程序。

    其次,请求的Content-Type 似乎不正确。它应该是multipart/form-data 或者application/x-www-form-urlencoded

    最后,req.body 不会设置在您的事件处理程序中,因为您没有填充它,所以它始终是 undefined

    【讨论】:

      猜你喜欢
      • 2011-11-26
      • 2021-06-25
      • 2017-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多