mongodb 未使用multer将图像存储在数据库中

0ve6wy6x  于 2023-05-28  发布在  Go
关注(0)|答案(1)|浏览(140)

我尝试将图像存储在本地文件夹中,并使用下面的代码使用multer将图像名称保存在mongodb中。

var uploadDir=__dirname+ '/assets/images';
var images='.jpg';
var storage=multer.diskStorage({
  destination:function(req, file, cb){
    cb(null, uploadDir);
  },
  filename:function(req, file, cb){
    console.log(file);
    image=Date.now()+images;
    callback(null, images);
  }
});
var upload=multer({storage:storage}).single('img');

但是它不将图像存储在本地文件夹中,只将.jpg字符串保存在mongodb的image字段中。我认为问题是filename:方法不起作用。请帮我看看,帮我找到解决办法。
谢啦

46scxncf

46scxncf1#

您的错误是在multer文件名配置中。你在这里使用了images变量,这就是为什么没有将图像存储在正确的路径中,并且只使用.jpg名称。将var image定义为var是一个好主意,否则将在全局名称空间中定义,并带来您无法预测的副作用。这应该可以工作:

var uploadDir=__dirname+ '/assets/images';
var images='.jpg';
var storage=multer.diskStorage({
  destination:function(req, file, cb){
    cb(null, uploadDir);
  },
  filename:function(req, file, cb){
    console.log(file);
    var image=Date.now()+images;
    callback(null, image);
  }
});

相关问题