node.js - 如何在一次请求中将多个文件保存在gridFS中?

标签 node.js gridfs

我正在使用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);
});

关于node.js - 如何在一次请求中将多个文件保存在gridFS中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22959637/

相关文章:

javascript - 创建 Parse.Object 新解析服务器

node.js - 如何在 node.js 中解压文件

node.js - 认真调试node.js 'Cannot find module xyz/abcd'

node.js - 未捕获: SyntaxError: Cannot use import statement inside the Node. js REPL,或者使用动态导入

javascript - 如何缩小 gulp-webpack 文件?

java - 确保使用 GridFS - MongoDB Java API 完成文件插入

c# - MongoDB GridFs with C#,如何存储图片等文件?

mongodb - 如何使用golang将图片上传到mongodb

python - 无法显示来自 GridFS、PyMongo 的图像

node.js - 如何为 GridFS 集合创建 Mongoose 模型?