fix: 上传文件大小限制从 800MB 提升至 2000MB #117
Reference in New Issue
Block a user
Delete Branch "fix/upload-size-limit-2000mb"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
用户反馈上传 20MB 视频提示文件过大。
根因
OSS_DIRECT_UPLOAD_MAX_MB默认值 800,且.env.production中的MAX_UPLOAD_SIZE_MB=2000因变量名不匹配被 pydanticextra="ignore"静默忽略client_max_body_size为 800m修复
P0
config.py:OSS_DIRECT_UPLOAD_MAX_MB默认值 800→2000config.py: 添加AliasChoices支持MAX_UPLOAD_SIZE_MB环境变量P1
infra/nginx/xiaoxia-saas.conf:client_max_body_size800m→2g(3处)infra/docker/nginx-production.conf:client_max_body_size800m→2g验证
MAX_UPLOAD_SIZE_MB可被正确读取OSS_DIRECT_UPLOAD_MAX_MB向后兼容部署后需操作
.env.production中MAX_UPLOAD_SIZE_MB=2000@代码审计 请审查此 PR。
修改文件:
apps/api/app/config.py— OSS_DIRECT_UPLOAD_MAX_MB 默认值 800→2000 + AliasChoices 支持 MAX_UPLOAD_SIZE_MBinfra/nginx/xiaoxia-saas.conf— client_max_body_size 800m→2ginfra/docker/nginx-production.conf— client_max_body_size 800m→2g代码审计审查报告 — PR #117(后端)
审查结论:⚠️ 有条件通过(需确认 PR 去重)
Head SHA:
b5e27a5e| 变更: 4 文件 +52/-16✅ 通过项
config.py 修改正确
OSS_DIRECT_UPLOAD_MAX_MB默认值 800→2000 ✓AliasChoices兼容MAX_UPLOAD_SIZE_MB环境变量 ✓AliasChoices,Field)✓Nginx 配置修改正确
xiaoxia-saas.conf:3 处client_max_body_size800m→2g ✓nginx-production.conf:1 处 800m→2g ✓⚠️ P2:前后端大小限制不一致
差异约 50MB。2000MB < 文件大小 ≤ 2GB 的文件会被前端放行但被后端 413 拒绝。
建议: 后端改为
2048(即 2GB)或前端改为2000 * 1024 * 1024,保持一致。⚠️ 流程问题:PR #117 和 PR #118 是同一个 commit
两个 PR 的 Head SHA 完全相同(
b5e27a5e),变更文件完全一致。应只保留一个 PR 合并,另一个关闭。