Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何避免使用哈希在节点js中上载重复图像?_Node.js_File Upload_Multer - Fatal编程技术网

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)))