feat(upload): 支持 Agent 本地图片安全上传

This commit is contained in:
yuzhe
2026-07-23 13:26:10 +08:00
parent 69cfd0b51d
commit c067881415
12 changed files with 380 additions and 25 deletions

View File

@@ -88,7 +88,16 @@ app.use((err: Error, _req: Request, res: Response, _next: unknown) => {
void _next;
// multer 文件类型/大小错误
const message = err.message || '服务器内部错误';
const errorCode = (err as Error & { code?: string }).code;
const statusCode = Number((err as Error & { statusCode?: number }).statusCode);
if (errorCode === 'LIMIT_FILE_SIZE') {
res.status(413).json({ success: false, error: '单张图片不能超过 20 MB' });
return;
}
if (errorCode === 'LIMIT_FILE_COUNT' || errorCode === 'LIMIT_UNEXPECTED_FILE') {
res.status(400).json({ success: false, error: '每次最多上传 30 张图片' });
return;
}
if (Number.isInteger(statusCode) && statusCode >= 400 && statusCode <= 599) {
res.status(statusCode).json({ success: false, error: message });
return;