Node.js 如何避免使用哈希在节点js中上载重复图像?
在这种情况下,我必须在Node.js 如何避免使用哈希在节点js中上载重复图像?,node.js,file-upload,multer,Node.js,File Upload,Multer,在这种情况下,我必须在save()和update()上上载文件。我目前正在使用multer将文件保存在磁盘存储中,并对文件名进行了简单检查。如下图所示: const storage = multer.diskStorage({ destination: (req, file, callback) => { const isvalid = MIME_TYPE_MAP[file.mimetype]; let error = new Error("
save()
和update()
上上载文件。我目前正在使用multer将文件保存在磁盘存储中,并对文件名进行了简单检查。如下图所示:
const storage = multer.diskStorage({
destination: (req, file, callback) => {
const isvalid = MIME_TYPE_MAP[file.mimetype];
let error = new Error("Invalid mime type");
if (isvalid) {
error = null;
}
callback(null, path.join(__dirname, '../public/assets'));
},
filename: (req, file, callback) => {
if (fs.existsSync(path.join(__dirname, '../public/assets',file.originalname))) {
const name = file.originalname.toLowerCase().split(" ").join("-");
const ext = MIME_TYPE_MAP[file.mimetype];
callback(null, Date.now() + "_" + name);
}else{
callback(null, file.originalname)
}
}
})
但问题是,当我更新表单时,相同的文件会以不同的名称保存。我想对已经退出的文件进行一些哈希检查,然后将其上传到磁盘存储。比如:
if (is_file_hash_exist(path.join(__dirname, '../public/assets',file)))