From d2a8aa117386031f8fa5f5cf2636652a88b8ca3f Mon Sep 17 00:00:00 2001 From: CI Bot Date: Sun, 19 Jul 2026 17:45:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BC=A9=E7=95=A5=E5=9B=BE=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=A4=B1=E8=B4=A5=EF=BC=88upload=5Fto=5Foss=20str/Pat?= =?UTF-8?q?h=20=E7=B1=BB=E5=9E=8B=E4=B8=8D=E5=8C=B9=E9=85=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit thumbnail_generator.py 等调用方传 str 类型路径,upload_to_oss 函数签名 写的是 Path,导致 local_path.stat() 报 AttributeError,缩略图上传失败 返回 None,异常被吞掉不影响主流程但封面一直是默认图。 修复:函数入参兼容 Path | str,入口处统一转 Path 对象。 其他传 Path 的调用方无副作用。 --- apps/worker/video_processing/oss_helpers.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/worker/video_processing/oss_helpers.py b/apps/worker/video_processing/oss_helpers.py index 20fff48d4..96bf9973f 100755 --- a/apps/worker/video_processing/oss_helpers.py +++ b/apps/worker/video_processing/oss_helpers.py @@ -142,19 +142,20 @@ def _download_via_http(url: str, local_path: Path) -> bool: return False -def upload_to_oss(local_path: Path, storage_key: str) -> str | None: +def upload_to_oss(local_path: Path | str, storage_key: str) -> str | None: """上传文件到 OSS,返回公开 URL。 大文件(>100MB)自动走分片上传,降低内存峰值,减少 OOM 风险。 上传加总超时保护(默认 300s),防止网络异常时无限挂死。 Args: - local_path: 本地文件路径 + local_path: 本地文件路径(Path 或 str 均可) storage_key: 目标存储键 Returns: 公开访问 URL,上传失败或 OSS 未配置时返回 None。 """ + local_path = Path(local_path) # 统一转 Path,兼容 str 调用 bucket = oss_bucket() if bucket is None: return None -- 2.54.0