当我使用以下命令
调用/ 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);
});
答案 0 :(得分:0)
Busboy用于解析传入的表单数据,因此它适用于POST请求。
在GETting列表中,您最好使用常规语法,即:req.params
的话说busboy适用于任何请求,但connect-busboy专门提供 没有为GET,HEAD设置req.busboy,其他请求也没有 通常包含一个正文,或者Content-Type不包含 application / x-www-form-urlencoded或multipart / form-data