我正在尝试将图片存储在本地文件夹中,并使用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');
但它不是将图像存储在本地文件夹中,而是仅在mongodb中的图像字段中保存.jpg
字符串。我认为问题是filename:
方法不起作用。请查看它并帮助我找到解决方案。
谢谢,
答案 0 :(得分:0)
您的错误是在multer文件名配置中。您在那里使用了图像变量,这就是为什么没有将图像存储在正确的路径中并且仅使用.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);
}
});