Multer 在上传文件时抛出错误

Multer throws error while uploading files

当我不在 multer 中连接 new Date().toISOString 和 file.originalname 以上传文件时,它可以完美运行。文件被上传。但是如果我连接创建唯一的文件名然后它说

Error: ENOENT: no such file or directory, open 'rootDirectory\uploads20-10-22T13:28:21.741Zman2.jpg'

即使我尝试存储从 new Date().toISOString 和 file.originalname 返回的值并将它们连接起来并传递给回调函数,它也会抛出同样的错误。

如何解决这个问题?

const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, "./uploads");
  },
  filename: function f(req, file, cb) {
    // const originalname = file.originalname;
    // const date = new Date().toISOString();
    cb(null, new Date().toISOString() + file.originalname);
  },
});

这样试试

cb(null,Date.now() + '-' + file.originalname.replace(/\s+/g, ""))

这是一个完整的方法,如果有帮助的话

    var storage = multer.diskStorage({
      destination: function (req, file, cb) {
        cb(null, './uploads')
      },
      filename: function (req, file, cb) {
        cb(null, Date.now() + '-' + file.originalname.replace(/\s+/g, ""))
      },
    })