在下面的代码中,只完成一个名为。
的事件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!');
});
});
答案 0 :(得分:3)
您没有看到任何数据的原因是因为您已经在使用multer
模块,该模块也会解析multipart/form-data
个请求,并将文件保存到磁盘。如果您未使用multer
并希望在代码中显示时手动使用busboy
,则需要删除app.use(multer());
行。