fix: 修复上传端点 500 错误 — 配置字段名拼写错误 #119

Merged
xiaoxia merged 1 commits from fix/upload-size-limit-2000mb into develop 2026-06-30 09:30:08 +08:00
Owner

问题

上传功能 2 个端点全部返回 500:

  • /api/v1/upload/prepare-direct-upload
  • 其他引用 OSS_DIRECT_UPLOAD_EXPIRE_SECONDS 的上传端点

根因

config.py 中定义字段名为 OSS_DIRECT_UPLOAD_EXPRESS_SECRET(错误),但 upload.py 访问的是 settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS(正确),导致 AttributeError → 500。

修复

config.py 第 90 行字段名从 OSS_DIRECT_UPLOAD_EXPRESS_SECRET 重命名为 OSS_DIRECT_UPLOAD_EXPIRE_SECONDS

验证

  • Python 单元测试确认 settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS == 900
  • 同时包含 PR #117 的上传大小限制修复(2000MB)

部署注意

  • 合并后需重启 API 容器
  • 确认 .env.production 中有 MAX_UPLOAD_SIZE_MB=2000
  • 需 nginx reload(已在 PR #117 中更新配置)
## 问题 上传功能 2 个端点全部返回 500: - `/api/v1/upload/prepare-direct-upload` - 其他引用 `OSS_DIRECT_UPLOAD_EXPIRE_SECONDS` 的上传端点 ## 根因 `config.py` 中定义字段名为 `OSS_DIRECT_UPLOAD_EXPRESS_SECRET`(错误),但 `upload.py` 访问的是 `settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS`(正确),导致 `AttributeError` → 500。 ## 修复 将 `config.py` 第 90 行字段名从 `OSS_DIRECT_UPLOAD_EXPRESS_SECRET` 重命名为 `OSS_DIRECT_UPLOAD_EXPIRE_SECONDS`。 ## 验证 - ✅ Python 单元测试确认 `settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS == 900` - ✅ 同时包含 PR #117 的上传大小限制修复(2000MB) ## 部署注意 - 合并后需重启 API 容器 - 确认 `.env.production` 中有 `MAX_UPLOAD_SIZE_MB=2000` - 需 nginx reload(已在 PR #117 中更新配置)
xiaoxia added 1 commit 2026-06-30 09:24:55 +08:00
fix: rename OSS_DIRECT_UPLOAD_EXPRESS_SECRET to OSS_DIRECT_UPLOAD_EXPIRE_SECONDS
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
e6ecce79ee
Root cause of upload endpoint 500 errors:
- config.py defined OSS_DIRECT_UPLOAD_EXPRESS_SECRET (wrong name)
- upload.py accessed settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS (correct name)
- AttributeError on every call to prepare_direct_upload → 500

This fixes both /api/v1/upload/prepare-direct-upload and any other
upload endpoints that reference the expire seconds config.
Author
Owner

代码审计紧急审查 — PR #119 通过

Head SHA: e6ecce79 | 1 文件 +1/-1

根因确认

  • config.py 定义字段名 OSS_DIRECT_UPLOAD_EXPRESS_SECRET(错误)
  • upload.py 第 131 行引用 settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS
  • 名称不匹配导致 AttributeError 500

修复验证

  • PR 分支 config.py 第 90 行已改为 OSS_DIRECT_UPLOAD_EXPIRE_SECONDS: int = 900
  • 与 upload.py 引用一致
  • 语义也更正确(EXPRESS_SECRET 暗示密钥 -> EXPIRE_SECONDS 过期秒数)

结论

审查通过,可以紧急合并部署。

## 代码审计紧急审查 — PR #119 通过 **Head SHA:** `e6ecce79` | **1 文件 +1/-1** ### 根因确认 - config.py 定义字段名 `OSS_DIRECT_UPLOAD_EXPRESS_SECRET`(错误) - upload.py 第 131 行引用 `settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS` - 名称不匹配导致 AttributeError 500 ### 修复验证 - PR 分支 config.py 第 90 行已改为 `OSS_DIRECT_UPLOAD_EXPIRE_SECONDS: int = 900` - 与 upload.py 引用一致 - 语义也更正确(EXPRESS_SECRET 暗示密钥 -> EXPIRE_SECONDS 过期秒数) ### 结论 **审查通过,可以紧急合并部署。**
xiaoxia merged commit bae9b509de into develop 2026-06-30 09:30:08 +08:00
Sign in to join this conversation.