From 9808a6eef9502b2531da49b92e07cd1c9a476f67 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 3 Aug 2026 23:25:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20URL=E7=AD=BE=E5=90=8D=E9=99=8D=E7=BA=A7?= =?UTF-8?q?=E9=80=BB=E8=BE=91=20=E2=80=94=20bucket=E6=9C=AA=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=97=B6=E8=BF=94=E5=9B=9E=E5=8E=9F=E5=A7=8BURL?= =?UTF-8?q?=E8=80=8C=E9=9D=9E=E6=9E=84=E9=80=A0URL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/api/app/api/routes/generation_preview.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/api/app/api/routes/generation_preview.py b/apps/api/app/api/routes/generation_preview.py index eeebe3ed1..f27d26d6e 100755 --- a/apps/api/app/api/routes/generation_preview.py +++ b/apps/api/app/api/routes/generation_preview.py @@ -74,7 +74,14 @@ def _sign_video_url(raw_url: str) -> str: try: storage = get_storage_service() signed = storage.get_download_url(raw_url, expires_seconds=7200) - return signed or raw_url + # 如果返回的 URL 与原始 URL 完全不同且不是签名 URL(说明 bucket 未配置), + # 降级返回原始 URL + if signed and signed != raw_url: + return signed + if signed == raw_url: + return raw_url + # signed 为空或与 raw_url 无关,返回原始 + return raw_url except Exception: logger.warning("[预览] URL签名失败,降级返回原始URL: %s", raw_url[:100], exc_info=True) return raw_url