使用multer上传多张图片可确保没有文件名混乱

时间:2018-06-27 16:31:25

标签: image-uploading multer image-upload

我必须上传多个图像,并确保没有文件名冲突。 下面的代码工作正常,但是当我上传具有相同位置名称的图像时,它将覆盖先前的文件。 所以我添加了以下行

let dateTime = Date.now(),

并在文件名上添加“ dateTime”。 但是问题是当我上传多个文件(例如3)时,上一行运行3次,我们得到3个不同的dateTime值。 我希望Date.now()仅执行一次。因此,请有人帮助我,我必须在代码中添加该行。

谢谢。

const storage = multer.diskStorage({
    dateTime = Date.now(),
    destination: function (req, file, uploadFn) {

        console.log("time is ", dateTime);
        uploadFn(null, path.join(__dirname, '../public/uploads/'));
    },
    filename: function (req, file, cb) {
        var isimage = isImage(dateTime + file.originalname);
        if (isimage) {
            cb(null, file.originalname)
        } else {
            return;
        }
    }
});

var upload = multer({
    storage: storage
});


route.post('/addgod', upload.array('images', 5), (req, res) => {
    // save basic information into database

}

0 个答案:

没有答案