From 28553aba152e7841f4daad3f1fc1dfe114655431 Mon Sep 17 00:00:00 2001 From: stefanfeng Date: Fri, 4 Sep 2026 13:47:46 +0800 Subject: [PATCH] fix(avatar): allow knowledge uploads up to 20MB --- digital-avatar-app/backend/routers/knowledge.py | 4 ++-- digital-avatar-app/nginx.conf | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/digital-avatar-app/backend/routers/knowledge.py b/digital-avatar-app/backend/routers/knowledge.py index 2b2a4fa..23de111 100644 --- a/digital-avatar-app/backend/routers/knowledge.py +++ b/digital-avatar-app/backend/routers/knowledge.py @@ -17,7 +17,7 @@ UPLOAD_DIR = os.path.abspath(os.getenv("UPLOAD_DIR", os.path.join(BASE_DIR, "upl os.makedirs(UPLOAD_DIR, exist_ok=True) ALLOWED_EXT = {".md", ".txt", ".pdf", ".doc", ".docx", ".xlsx"} -MAX_UPLOAD_BYTES = 10 * 1024 * 1024 +MAX_UPLOAD_BYTES = 20 * 1024 * 1024 class QAIn(BaseModel): @@ -82,7 +82,7 @@ async def upload_doc(avatar_id: str, file: UploadFile = File(...), authorization path = os.path.join(avatar_dir, stored) content = await file.read() if len(content) > MAX_UPLOAD_BYTES: - return fail("文件不能超过 10MB", code=400) + return fail("文件不能超过 20MB", code=400) with open(path, "wb") as f: f.write(content) doc = KnowledgeDoc( diff --git a/digital-avatar-app/nginx.conf b/digital-avatar-app/nginx.conf index 2919b85..bf31dc3 100644 --- a/digital-avatar-app/nginx.conf +++ b/digital-avatar-app/nginx.conf @@ -23,6 +23,10 @@ http { root /usr/share/nginx/html; index index.html; + # Keep the application gateway aligned with the production edge gateway. + # Without this Nginx rejects ordinary PDF uploads with HTTP 413 before + # FastAPI can return its user-facing file-size validation message. + client_max_body_size 20m; # SPA 兜底(hash 路由下深链接也可正常加载) location / {