fix: use public upload path for vip98k staging

This commit is contained in:
134 2026-09-07 12:23:43 +08:00 committed by root
parent 6a30795bb8
commit 01b3f6eec1

View File

@ -19,7 +19,6 @@ import { createLogger } from "@/lib/observability/logger";
import { createDeferredUploadedImage } from "@/lib/storage/image-archive";
import {
buildS3PublicUrl,
buildStorageObjectKey,
createS3Client,
type S3UploadConfig,
toDbS3UploadConfig,
@ -65,7 +64,7 @@ const REFERENCE_DOWNLOAD_ATTEMPTS = 3;
const REFERENCE_DOWNLOAD_TIMEOUT_MS = 120_000;
const MAX_REFERENCE_DOWNLOAD_BYTES = 40 * 1024 * 1024;
const REFERENCE_STAGING_CACHE_MS = 60_000;
const REFERENCE_STAGING_PREFIX = "vip98k-references";
const REFERENCE_STAGING_KEY_PREFIX = "uploads/vip98k-";
type ReferenceStagingConfig = {
sourcePublicUrl: string;
@ -608,7 +607,9 @@ async function uploadReferenceImage(
buffer: Buffer,
stagingConfig: ReferenceStagingConfig,
) {
const key = buildStorageObjectKey("reference.jpg", REFERENCE_STAGING_PREFIX);
const key = `${REFERENCE_STAGING_KEY_PREFIX}${Date.now()}-${Math.random()
.toString(36)
.slice(2, 8)}.jpg`;
await createS3Client(stagingConfig.storageConfig).send(
new PutObjectCommand({
Bucket: stagingConfig.storageConfig.bucket,
@ -676,7 +677,7 @@ async function ensurePublicMediaUrl(mediaUrl: string, mediaKind: "image" | "vide
: null;
if (
!stagingConfig ||
sourceObjectKey?.startsWith(`${REFERENCE_STAGING_PREFIX}/`) ||
sourceObjectKey?.startsWith(REFERENCE_STAGING_KEY_PREFIX) ||
!shouldStageVip98kReferenceUrl({
mediaUrl: normalized,
sourcePublicUrl: stagingConfig.sourcePublicUrl,