在 Node.js 应用程序中使用 multer 覆盖本地文件夹中的图像

Image is overwriting in local Folder using multer in Node.js app

我正在尝试在本地文件夹中上传图片,并将图片名称保存在 MongoDB 中。

var uploadDir=__dirname+'/uploads';
 var images=Date.now()+'.jpg';
var storage=multer.diskStorage({

    destination:function(request, file, callback){
        callback(null, uploadDir);
        },
        filename:function(request, file, callback){
            console.log(file);
            callback(null, images);
            }
    });
    var upload=multer({storage:storage}).single('image');

以上是multer配置代码。问题是当我插入一个图像然后它成功保存在本地文件夹中但是我再次保存另一个图像然后新图像覆盖文件夹中的前一个图像。但在 MongoDB 中图像名称不同。

您已将图像值作为 Date.now 添加到将在加载时执行一次的文件顶部。

试试下面的代码。

var uploadDir=__dirname+'/上传';

变量存储= multer.diskStorage({

destination:function(request, file, callback){
    callback(null, uploadDir);
    },
    filename:function(request, file, callback){
        var images = '.jpg';
        console.log(file);
        images += Date.now()+images;
        callback(null, images);
        }
});
var upload=multer({storage:storage}).single('image');