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