我在Express.js 4中使用connect-busboy
來上傳文件。我在app.js中添加了app.use(busboy({ immediate: true });
。我的路由處理程序是這樣的:爲什麼req.busboy未定義?
router.post('/upload', function (req, res) {
var fstream;
req.pipe(req.busboy);
console.log(req.busboy);
req.busboy.on('file', function (fieldName, file, fileName) {
console.log('Uploading ' + fileName + '...');
fstream = fs.createWriteStream(__dirname + '/data/' + fileName);
file.pipe(fstream);
fstream.on('close', function() {
res.end('ok');
});
});
});
的console.log(req.busboy);
回報undefined
。爲什麼?!??!
是您的'app.use(busboy({immediate:true})); * * before * your routes?另外,你可能不應該設置'immediate:true',尤其是因爲你正在執行'req.pipe(req.busboy)''你自己。 – mscdex 2014-09-23 12:49:26
是的。即使沒有'''immediate:true'',結果也是一樣。 – 2014-09-23 12:53:11