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

时间:2016-05-31 05:17:30

标签: node.js mongodb multer

我正在尝试在Local文件夹中上传图片以及在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中,图像名称是不同的。

1 个答案:

答案 0 :(得分:0)

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

尝试以下代码。

var uploadDir = __ dirname +' / uploads';

var storage = 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');