feat: add sora video submit task

This commit is contained in:
feitianbubu
2025-10-08 22:53:02 +08:00
parent 23dce3b5b1
commit 1d1759aaae
10 changed files with 354 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ package common
import (
"bytes"
"io"
"mime/multipart"
"net/http"
"one-api/constant"
"strings"
@@ -113,3 +114,26 @@ func ApiSuccess(c *gin.Context, data any) {
"data": data,
})
}
func ParseMultipartFormReusable(c *gin.Context) (*multipart.Form, error) {
requestBody, err := GetRequestBody(c)
if err != nil {
return nil, err
}
contentType := c.Request.Header.Get("Content-Type")
boundary := ""
if idx := strings.Index(contentType, "boundary="); idx != -1 {
boundary = contentType[idx+9:]
}
reader := multipart.NewReader(bytes.NewReader(requestBody), boundary)
form, err := reader.ReadForm(32 << 20) // 32 MB max memory
if err != nil {
return nil, err
}
// Reset request body
c.Request.Body = io.NopCloser(bytes.NewBuffer(requestBody))
return form, nil
}