首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多上传到mongodb gfs

多上传到mongodb gfs
EN

Stack Overflow用户
提问于 2016-11-14 13:50:37
回答 2查看 728关注 0票数 0
代码语言:javascript
复制
app.post("/", upload.single("avatar"), function(req, res, next){
    var writestream = gfs.createWriteStream({
        filename: req.file.filename
    });  
    fs.createReadStream("./uploads/kkm/" + req.file.filename)    
      .on("end", function() {
          fs.unlink("./uploads/kkm/"+ req.file.filename, function(err) {
              res.send("success") 
          })
      })  
      .pipe(writestream);    
});

我想上传2个图片到mongodb,我可以创建一个图像的写入和读取流,但失去了两个文件的想法。

我可以找一张,但不能要两张。当我尝试数组方法时,它会回复。

"TypeError:无法读取未定义“错误的属性‘文件名’。

我的目标是以一种方法或任何一次方式将两个文件上传到mongodb。我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-14 14:01:57

GridFS方法每次调用都会插入一个文件,但是您可以很容易地做到这一点。您需要在您的Node.JS应用程序中使用循环,并将文件逐个发送到GridFS。

如果你用穆特,你可以这样做

代码语言:javascript
复制
const storage = multer.diskStorage({
    destination: (req, file, callback) => {
        callback(null, './.temp/uploads');
    },
    filename: (req, file, callback) => {
        callback(null, file.fieldname + '-' + Date.now());
    }
});
const multerOptions = {
    storage: storage
};

const upload = multer(multerOptions).array('files[]');

module.exports = (req, res, next) => {
  upload(req, res, (err) => {
        for (let i in req.files) {
            const file = req.files[i];
            // here you can call GridFS method and upload the file
        }
  });
}); 
票数 1
EN

Stack Overflow用户

发布于 2016-11-15 06:23:51

代码语言:javascript
复制
 app.post('/upload', function(request, response) {
  upload(request, response, function(err) {  

 var files = new Array (req.file.filename,req.file.namedName) 
    for(var i = 0 ; i < files.length; i++) 
{ 
// here you can call GridFS method 
 }
});
  • 谢谢你的帮助,艾丽尔·亨里森。
  • 我用我的方式做了循环,它起作用了。
  • 我试过很多次你的方法。
  • 我不知道如何使用module.exports = (req,res,next) => {方法,它回答不了post错误,它也显示语法错误。
  • 您在哪里使用app.post方法。
  • 如果你不介意的话,你能不能写完整的代码,如果不介意的话也没关系。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40590280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档