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

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

No files matched your search

@@ -0,0 +1,24 @@
package assets
import (
"testing"
"time"
"infinite-canvas/backend/internal/storage"
)
func TestNonMediaDeliveryUsesPlatform(t *testing.T) {
for _, mimeType := range []string{"text/html", "image/svg+xml", "application/pdf", "application/octet-stream"} {
for _, purpose := range []AccessPurpose{PurposeDisplay, PurposeCopy, PurposeProcess, PurposeDownload, PurposeProvider} {
t.Run(mimeType+"/"+string(purpose), func(t *testing.T) {
r := testReadyResource("aliyun")
r.MimeType = mimeType
var variants []ResourceVariant
got, err := ResolveAccess(r, storage.Settings{Provider: "aliyun", CDNBaseURL: "https://cdn.example", Delivery: storage.DeliverySettings{CDNAuthMode: "public"}}, AccessOptions{Purpose: purpose}, time.Now(), testPlatformURL(&variants))
if err != nil || got.Delivery != DeliveryProxy || len(variants) != 1 {
t.Fatalf("non-media escaped controlled delivery: access=%+v err=%v", got, err)
}
})
}
}
}