javascript - 尝试通过 multer 的存储保存图像时,为什么我得到“ENOENT:没有这样的文件或目录,打开”?
问题描述
我正在尝试使用 multer 将图像保存到我的后端,更具体地说,保存到public/images/servers
文件夹。可悲的是我收到一个错误:
[Error: ENOENT: no such file or directory, open 'C:\MAMP\htdocs\Chat Backend\public\images\servers\2020-08-07T12:33:31.556Z-aohan-chen-.jpg'] {
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'C:\\MAMP\\htdocs\\Chat Backend\\public\\images\\servers\\2020-08-07T12:33:31.556Z-aohan-chen-.jpg',
storageErrors: []
}
我不确定为什么它说没有这样的文件或目录,而直到这里的所有内容都存在 - 'C:\MAMP\htdocs\Chat Backend\public\images\servers'
. 剩下的唯一一件事就是让 multer 将图像保存在服务器文件夹中。
var multer = require('multer');
var storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'public/images/servers')
},
filename: (req, file, cb) => {
cb(null, new Date().toISOString() + '-' + 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'));
解决方案
推荐阅读
- android - 如何在Android中实用地在面部或其他图像上绘制标志或在面部或其他图像上绘制或覆盖图像
- android - 下载 AOSP 代码时出现 ManifestInvalidRevisionError
- javascript - 如何正确更新 React 中的类名?
- javascript - Excel Web 添加对 Range.Load 函数的无效操作
- kubernetes - Kubernetes Let's Encrypt 不颁发证书
- java - Java将枚举列表连接到字符串
- javascript - 初学者:我将博客集成到我的 Javascript/React 网站中,但是如何添加样式?
- c++ - 在 C++ 中分别定义和初始化 List
- c# - 如何使用servicelocator wpf动态创建模型的多个实例
- amazon-web-services - 尝试导出发电机数据库表并写入 csv 文件时出现 UnicodeEncodeError