package service import ( "fmt" "os" "path/filepath" ) // saveTmpResult 将模型输出写入临时文件,用于 OSS 上传失败后的“仅重试 OSS”。 func saveTmpResult(taskID string, data []byte, ext string) (string, error) { dir := filepath.Join(os.TempDir(), "model-asynch") if err := os.MkdirAll(dir, 0o755); err != nil { return "", err } if ext == "" { ext = ".bin" } if ext[0] != '.' { ext = "." + ext } path := filepath.Join(dir, fmt.Sprintf("%s%s", taskID, ext)) if err := os.WriteFile(path, data, 0o644); err != nil { return "", err } return path, nil } func loadTmpResult(path string) ([]byte, error) { return os.ReadFile(path) } func deleteTmpResult(path string) { if path == "" { return } _ = os.Remove(path) }