我正在使用nodejs和mongodb,并且想要一次存储多个文件。我正在使用 GridFS 来存储文件。
我的代码对于单个文件上传工作正常。 var writestream = gfs.createWriteStream({ 文件名: 文件名, 元数据: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);
});
如何使其能够上传多个文件?
将其包装在异步调用中,这是一个可以安装的 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);
});
我是一名优秀的程序员,十分优秀!