busboy不发射领域,文件事件

在下面的代码中,只有完成事件调用。


var Busboy = require('connect-busboy'); app.use(Busboy()); app.post('/fileupload', function(req, res) { var fstream; req.pipe(req.busboy); req.busboy.on('error', function(err){ console.log(err); }); req.busboy.on('field', function(fieldname, val, valTruncated, keyTruncated) { console.log("fieldname: " + fieldname); }); req.busboy.on('file', function (fieldname, file, filename) { console.log("filename: " + filename); fstream = fs.createWriteStream(__dirname + '/files/' + filename); file.pipe(fstream); fstream.on('close', function () { res.redirect('back'); console.log("fileupload end"); }); }); req.busboy.on('finish', function() { console.log('Done parsing form!'); }); }); 

你没有看到任何数据的原因是因为你已经在使用multer模块,它也分析multipart/form-data请求,将文件保存到磁盘。 如果你没有使用multer并且想要在你的代码中手动使用multer ,那么你需要删除app.use(multer()); 线。