diff --git a/app/controller/upload.js b/app/controller/upload.js index d68af00..e0c07ff 100644 --- a/app/controller/upload.js +++ b/app/controller/upload.js @@ -48,7 +48,10 @@ class UploadController extends Controller { * 上传作品文件 * POST /api/upload/:group * - * 支持 .pdf / .doc / .docx / .ppt / .pptx / .zip 格式,最大 50MB + * 支持 .pdf / .doc / .docx / .ppt / .pptx / .zip 格式,最大 150MB + * (🔴 R225:原注释写「最大 50MB」早已失效,实际上限只由 + * config.multipart.fileSize 决定,当时为 '100mb',现为 '150mb'。 + * 本注释不再复述数字,改为指向配置项,避免再次漂移。) */ async upload() { const { ctx, service } = this; diff --git a/config/config.default.js b/config/config.default.js index ca3751d..d3012e8 100644 --- a/config/config.default.js +++ b/config/config.default.js @@ -379,7 +379,16 @@ module.exports = (appInfo) => { // ----------------------------------------------------------------- config.multipart = { mode: 'stream', - fileSize: '100mb', + // 🔴 2026-10-23 R225:'100mb' -> '150mb' + // 缘由:教师组(jiaoshi)作品上传唯一通道 = POST /api/upload/:group 单次流式整包 + // (分片通道前端已于 R43 删除),故全组共用这一个硬闸门。原值与前端 + // uploadCombo.ZIP_MAX=200MB 长期不一致 ⇒ 100~200MB 的 zip 前端放行、后端拒收 + // (MultipartFileTooLargeError),多位教师报障。 + // ⚠️ 本值是**所有** multipart 通道的唯一上限,调整时须与下列三处同步: + // frontend/src/utils/uploadCombo.js (ZIP_MAX / OTHER_MAX) + // frontend/src/views/Competition.vue (同上常量 + 文案) + // deploy/competition_website.conf (client_max_body_size 200m,须 > 本值) + fileSize: '150mb', whitelist: [ // 文档类 '.pdf',