Javascript “;eNote:没有这样的文件或目录,打开”;试图通过multer';保存图像时;它的储藏室。符号不是问题所在
出于某种原因,如果我试图通过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
[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'
?