Javascript “;eNote:没有这样的文件或目录,打开”;试图通过multer';保存图像时;它的储藏室。符号不是问题所在

Javascript “;eNote:没有这样的文件或目录,打开”;试图通过multer';保存图像时;它的储藏室。符号不是问题所在,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,出于某种原因,如果我试图通过multer的存储器保存图像,则会出现以下错误: [Error: ENOENT: no such file or directory, open 'C:\MAMP\htdocs\Chat Backend\public\images\servers\1596819056816AFKay.jpg'] { errno: -4058, code: 'ENOENT', syscall: 'open', path: 'C:\\MAMP\\htdocs\\Chat

出于某种原因,如果我试图通过multer的存储器保存图像,则会出现以下错误:

[Error: ENOENT: no such file or directory, open 'C:\MAMP\htdocs\Chat Backend\public\images\servers\1596819056816AFKay.jpg'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\MAMP\\htdocs\\Chat Backend\\public\\images\\servers\\1596819056816AFKay.jpg',
  storageErrors: []
}
我的multer设置如下所示:

var multer = require('multer');

var storage = multer.diskStorage({
    destination: (req, file, cb) => {
        cb(null, 'public/images/servers')
    },
    filename: (req, file, cb) => {
        cb(null, Date.now() + file.originalname)
    }
})

var fileFilter = (req, file, cb) => {
    if (file.mimetype === 'image/png' || file.mimetype === 'image/jpg' || file.mimetype === 'image/jpeg') {
        cb(null, true)
    } else {
        cb(null, false)
    }
}

app.use(multer({ storage: storage, fileFilter: fileFilter }).single('image'));
如果我不使用存储,只使用dest,它可以很好地保存图像

app.use(multer({ dest: 'public/images/servers' }).single('image'));

我检查了很多类似的问题,但他们的问题通常是图像的名称包含不允许的符号,而我的情况并非如此,因为我尝试了最简单的名称(例如字符串),但仍然会出现错误。为什么会发生这种错误?

我也面临同样的问题。我使用的是windows操作系统。这有助于:

new Date().toISOString().replace(/:/g, '-') + file.originalname

这可能是您定义路径的方式。您是否尝试过:
。/public/images/servers'