Busboy抛出未定义的异常

时间:2014-10-06 00:01:37

标签: node.js

当我使用以下命令

调用/ list方法时,我收到以下异常
'curl -v  http://ec2-54-68-202-47.us-west-2.compute.amazonaws.com:8080/list/?name=test'

错误:

  

110.175.53.235 - - [Sun,05 Oct 2014 13:08:27 GMT]“GET / list /?name = dafsdf HTTP / 1.1”500 1273“ - ”“curl / 7.26.0”TypeError:   无法调用未定义的方法'on'

如果我调用'/ image / upload'网址,那就很好。

// Import required modules
var express = require('express');
var morgan = require('morgan');

var busboy = require('connect-busboy');
var fs = require('fs');
var path = require('path');



var app = express();

app.use(busboy());
app.use(morgan('combined'));

app.get('/list', function(req, res) {
        console.log("Hit the url /list");
        req.busboy.on('field', function(fieldname, val) {
                //console.log('Field [' +fieldname);               
                res.send("data received");
        });
        //req.pipe(req.busboy);
});

app.post('/image/upload', function(req, res) {
        req.busboy.on('file', function(fieldname, file, filename) {
                ...
                res.send("file received");
        });
        req.pipe(req.busboy);
});

// Run the application on port 3000
app.listen(8080, function() {
        console.log('Echo Application running at %d', 8080);
});

1 个答案:

答案 0 :(得分:0)

Busboy用于解析传入的表单数据,因此它适用于POST请求。

在GETting列表中,您最好使用常规语法,即:req.params

mscdex

的话说
  

busboy适用于任何请求,但connect-busboy专门提供   没有为GET,HEAD设置req.busboy,其他请求也没有   通常包含一个正文,或者Content-Type不包含   application / x-www-form-urlencoded或multipart / form-data