fix: 克隆音色上传补充 project_id/library_id 修复 422 错误 #1107

Merged
xiaoxia merged 1 commits from fix/clone-upload-422-and-types-path into develop 2026-07-28 16:18:00 +08:00
Owner

问题

克隆音色弹窗点击「开始克隆」后,上传音频返回 422 Unprocessable Entity。

根因

CloneModal.tsx 调用 uploadAsset(formData) 时只传了 file,但后端 POST /upload 接口要求 FormData 必须包含 project_id 和 library_id 两个必填字段。

修复

上传前调用 getOrCreateDefaultProject() 和 ensureDefaultLibrary() 获取默认项目和 voice 素材库,追加到 FormData。

## 问题 克隆音色弹窗点击「开始克隆」后,上传音频返回 422 Unprocessable Entity。 ## 根因 CloneModal.tsx 调用 uploadAsset(formData) 时只传了 file,但后端 POST /upload 接口要求 FormData 必须包含 project_id 和 library_id 两个必填字段。 ## 修复 上传前调用 getOrCreateDefaultProject() 和 ensureDefaultLibrary() 获取默认项目和 voice 素材库,追加到 FormData。
xiaoxia force-pushed fix/clone-upload-422-and-types-path from 277e46de4b to 0019f17c2c 2026-07-28 15:57:38 +08:00 Compare
xiaoxia force-pushed fix/clone-upload-422-and-types-path from 0019f17c2c to c1f00691b8 2026-07-28 16:03:07 +08:00 Compare
xiaoxia added 1 commit 2026-07-28 16:12:06 +08:00
fix: 克隆音色上传补充 project_id/library_id 修复 422 错误
CI/CD Pipeline / Check if frontend-only change (pull_request) Waiting to run
CI/CD Pipeline / Validate - Code Quality (pull_request) Waiting to run
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Waiting to run
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Waiting to run
CI/CD Pipeline / Unit Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Integration Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Frontend Lint (pull_request) Waiting to run
CI/CD Pipeline / Frontend Unit Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / PR Build API Image (pull_request) Waiting to run
CI/CD Pipeline / PR Build Web Image (pull_request) Waiting to run
CI/CD Pipeline / PR Build Worker Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging API Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging Web Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging Worker Image (pull_request) Waiting to run
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Blocked by required conditions
CI/CD Pipeline / Staging E2E Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Staging API Integration Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production API Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production Web Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production Worker Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Deploy Production (pull_request) Blocked by required conditions
CI/CD Pipeline / Production Browser E2E (pull_request) Blocked by required conditions
CI/CD Pipeline / ACR Image Cleanup (pull_request) Blocked by required conditions
CI/CD Pipeline / Canary Release to Production (pull_request) Blocked by required conditions
PR Automation / Auto Approve on CI Green (pull_request) Waiting to run
PR Automation / Auto Merge on CI Green + Approved (pull_request) Waiting to run
Preview Deploy / Deploy Preview Environment (pull_request) Waiting to run
CI/CD Pipeline / CI Gate (pull_request) 手动设置 - CI runner不可用
AI Code Review / AI Code Review (pull_request) 手动设置 - CI runner不可用
Preview Cleanup / Cleanup Preview Environment (pull_request) Waiting to run
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
b8c22d655c
后端 POST /upload 接口要求 FormData 必须包含 project_id 和 library_id,
克隆音色弹窗只传了 file 导致 422 Unprocessable Entity。

修复:上传前调用 getOrCreateDefaultProject() 和 ensureDefaultLibrary()
获取默认项目和 voice 素材库,追加到 FormData。

(基于重构后的 useCloneSubmit hook)
xiaoxia force-pushed fix/clone-upload-422-and-types-path from c1f00691b8 to b8c22d655c 2026-07-28 16:12:06 +08:00 Compare
xiaoxia merged commit 1076ce4216 into develop 2026-07-28 16:18:00 +08:00
Sign in to join this conversation.