尝试使用multer上传图像并出现此错误
ENOENT:没有此类文件或目录,请打开“ C:\ Users \ Marwa \ mern-stack \ uploads \ images \ 74.jpeg” POST / api /用户/注册500 23.065毫秒-1711 RangeError [ERR_HTTP_INVALID_STATUS_CODE]:无效的状态码:ENOENT 在ServerResponse.writeHead(_http_server.js:248:11)
为什么会出现此错误?
这是文件上传中间件 并且图片应存储在uploads / images文件夹中
const multer = require("multer");
const MIME_TYPE_MAP = {
"image/png": "png",
"image/jpeg": "jpeg",
"image/jpg": "jpg",
};
const fileUpload = multer({
limits: { fileSize: 2 * 1024 * 1024 },
storage: multer.diskStorage({
destination: (req, file, cb) => {
cb(null, "uploads/images");
},
filename: (req, file, cb) => {
const ext = MIME_TYPE_MAP[file.mimetype];
cb(null, Math.floor(Math.random() * 100) + "." + ext);
},
}),
fileFilter: (req, file, cb) => {
const isValid = !!MIME_TYPE_MAP[file.mimetype];
let error = isValid ? null : new Error("Invalid mime type!");
cb(error, isValid);
},
});
module.exports = fileUpload;
然后我将这个中间件传递给我要添加(注册)图像的路由
router.post(
"/signup",
fileUpload.single("image"),
[
check("name").not().isEmpty(),
check("email").isEmail(),
check("password").isLength({ min: 6 }),
],
createUser
);