如何自定义@koa/multer的返回错误码
来源:17-19 Koa 的错误处理

慕姐2849259
2023-08-10
老师好:
我在
const upload = multer({
limits: {
files: 3, // 设置允许上传的最大文件数量
},
fileFilter: (req, file, cb) => {
if (!file.originalname.match(/\.(jpg|jpeg|png|json|js)$/)) {
return cb(new Error("Unexpected field")); // 返回自定义的错误信息
}
cb(null, true);
},
设置了上传的最大文件数量和对文件类型上传的限制
在错误处理中
app.on("error", (err, ctx) => {
switch (err.message) {
case NAME_AND_AGE_IS_REQUIRED:
ctx.status = 403;
ctx.body = NAME_AND_AGE_IS_REQUIRED;
break;
case K_UNEXPECTED_FIELD:
ctx.status = 403;
ctx.body = K_UNEXPECTED_FIELD;
break;
case TOO_MANY_FILES:
ctx.status = 403;
ctx.body = TOO_MANY_FILES;
break;
default:
break;
}
}
我明明设置了错误码403,错误信息为Unexpected field,或者Too many files
但是,文件类型错,或者文件超限额收到的错误都是“Internal Server Error“
请帮忙解答一下,谢谢
写回答
1回答
-
coder_monkey
2023-08-10
500 说明代码写的有问题 可以打打 log 调试调试或者仔细检查检查代码
022023-08-10
相似问题