feat: 接入七牛云存储,替换本地文件存储

- generate handler 中的本地文件写入替换为 storageSvc.Upload() 调用
- 移除 main.go 中的本地 generation 目录创建和静态文件服务
- 更新 api.md 接口状态标记
This commit is contained in:
2026-05-25 13:48:37 +08:00
parent ebc6c171d5
commit 83d3d2663d
3 changed files with 8 additions and 24 deletions
+5 -14
View File
@@ -5,8 +5,6 @@ import (
"fmt"
"log"
"net/http"
"os"
"path/filepath"
"sync"
"time"
@@ -141,23 +139,16 @@ func runPipelineBg(projectID, taskID string, req GenerateRequest) {
updateStatus(taskID, "saving", 80)
// 保存图片到 ../generation/{projectId}/{taskId}/
genDir := filepath.Join("..", "generation", projectID, taskID)
if err := os.MkdirAll(genDir, 0755); err != nil {
updateFailed(taskID, "创建输出目录失败: "+err.Error())
return
}
assets := make([]AssetResponse, len(output.Assets))
for i, a := range output.Assets {
filename := fmt.Sprintf("%d.%s", i, a.Format)
filePath := filepath.Join(genDir, filename)
if err := os.WriteFile(filePath, a.Data, 0644); err != nil {
updateFailed(taskID, "保存图片失败: "+err.Error())
key := fmt.Sprintf("generation/%s/%s/%d.%s", projectID, taskID, i, a.Format)
cdnURL, err := storageSvc.Upload(ctx, key, a.Data)
if err != nil {
updateFailed(taskID, "上传素材失败: "+err.Error())
return
}
assets[i] = AssetResponse{
URL: fmt.Sprintf("/generation/%s/%s/%s", projectID, taskID, filename),
URL: cdnURL,
Format: a.Format,
}
}