我正在使用nodejs和mongodb,并希望一次存储多个文件。我正在使用GridFS文件。
我的代码适用于单个文件上传。 var writestream = gfs.createWriteStream({filename:filename,metadata:project._id}); 的console.log(tmpFilepath);
var filename = req.files.file.name;
var tmpFilepath="./upload/"+ guid();
fs.rename(req.files.file.path,tmpFilepath);
fs.createReadStream(tmpFilepath)
.on('end', function() {
console.log("file Saved");
})
.on('error', function() {
console.log("error encountered");
// res.send('ERR');
})
// and pipe it to gfs
.pipe(writestream);
writestream.on('close', function (file) {
fs.unlink(tmpFilepath);
});
如何才能使其上传多个文件?
答案 0 :(得分:0)
将其包装在异步调用中,这是一个可以安装的npm模块。
var files = [];
async.each([].req.files.name, function(item){
/* Apply your gridfs here */
files.push('somedetails');
},
function(err){
/* finished processing all the files...do something with them /*
console.log(files);
});