From 297b545e550ee2969f66bc55ab690b6dddc3753d Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Thu, 24 Sep 2026 10:29:55 +0800 Subject: [PATCH] =?UTF-8?q?fix(media-upload):=20alioss=20=E7=9B=B4?= =?UTF-8?q?=E4=BC=A0=20endpoint=20=E7=BC=BA=20oss-=20=E5=89=8D=E7=BC=80?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - sts.region 是简写 (cn-hangzhou), 真实 OSS endpoint 须完整形式 (oss-cn-hangzhou) - 优先使用后端 sts.oss_url (OssProviderRegistry::buildDirectEndpoint 已拼好), 兜底 oss-${region} 拼接 --- common/js/media-upload.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/common/js/media-upload.js b/common/js/media-upload.js index d1b9a34..fb71381 100644 --- a/common/js/media-upload.js +++ b/common/js/media-upload.js @@ -377,7 +377,15 @@ async function uploadViaSts(filePath, kind, addon, agentId, config, knownSize = } else { // A) 4-field STS 默认 (alioss/txcos/baidubos/qingstor/jdoss/ucloud/wyoss) // endpoint 模板按 provider 区分, 后端未返 endpoint 时按 OSS 模板拼 - const tpl = (provider === 'alioss') ? `https://${sts.bucket}.${sts.region}.aliyuncs.com` + // ★ FIX-ALIOSS-ENDPOINT-OSS-PREFIX (2026-09-23): alioss 区域名缺前缀 bug + // sts.region 是用户输入的简写形式 (cn-hangzhou), 但真实 OSS endpoint 必须用完整形式 (oss-cn-hangzhou) + // 之前 `https://${bucket}.${region}.aliyuncs.com` 拼成 `suzhou-oss-data-xyz.cn-hangzhou.aliyuncs.com` (DNS 不存在) + // 正确: `https://${bucket}.oss-${region}.aliyuncs.com` → `suzhou-oss-data-xyz.oss-cn-hangzhou.aliyuncs.com` + // 后端 sts.oss_url 已拼好正确 URL (用 OssProviderRegistry::buildDirectEndpoint), 优先用它 + const aliossTpl = sts.oss_url + ? sts.oss_url.replace(/\/[^\/?#]+$/, '') // 去尾 key, 留 base endpoint + : `https://${sts.bucket}.oss-${sts.region}.aliyuncs.com` + const tpl = (provider === 'alioss') ? aliossTpl : (provider === 'txcos') ? `https://${sts.bucket}-${sts.region}.cos.${sts.region}.myqcloud.com` : (provider === 'baidubos') ? `https://${sts.bucket}.${sts.region}.bcebos.com` : (provider === 'jdoss') ? `https://${sts.bucket}.${sts.region}.jdcloud-oss.com`