fix(media): 资源交付 - 按内容识别上传类型并统一重试与附件交付 (#678)

Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
This commit is contained in:
Catlaxy AI
2026-10-06 09:35:50 +08:00
committed by GitHub
parent 3750fada7a
commit 398f8e36f5
10 changed files with 322 additions and 39 deletions

View File

@@ -3,6 +3,7 @@ package handler
import (
"fmt"
"io"
"mime"
"net/http"
"strings"
@@ -69,6 +70,12 @@ func serveResourceDelivery(c *gin.Context, delivery *service.ResourceDelivery, c
c.Header("Content-Disposition", disposition)
}
resource := stream.Resource
if !assets.InlineMediaType(resource.MimeType) {
if dispositionType, _, _ := mime.ParseMediaType(disposition); dispositionType != "attachment" {
c.Header("Content-Disposition", "attachment")
}
c.Header("Content-Security-Policy", "sandbox; default-src 'none'")
}
mimeType := resource.MimeType
if mimeType == "" {
mimeType = "application/octet-stream"