feat: 接入七牛云存储,替换本地文件存储
- generate handler 中的本地文件写入替换为 storageSvc.Upload() 调用 - 移除 main.go 中的本地 generation 目录创建和静态文件服务 - 更新 api.md 接口状态标记
This commit is contained in:
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user