""" 上传小龙虾客户端到 OSS,输出公开下载链接 """ import os import sys from dotenv import load_dotenv load_dotenv("backend/.env") import oss2 ACCESS_KEY_ID = os.getenv("OSS_ACCESS_KEY_ID") ACCESS_KEY_SECRET = os.getenv("OSS_ACCESS_KEY_SECRET") ENDPOINT = os.getenv("OSS_ENDPOINT", "oss-cn-beijing.aliyuncs.com") BUCKET_NAME = os.getenv("OSS_BUCKET_NAME") BUCKET_DOMAIN = os.getenv("OSS_BUCKET_DOMAIN") FILES = [ ("小龙虾客户端 Setup 1.2.0(1).exe", "releases/openclaw-setup-1.2.0.exe"), ("小龙虾客户端 Setup 1.2.0-wangxunai.exe", "releases/openclaw-setup-1.2.0-wangxunai.exe"), ] if not all([ACCESS_KEY_ID, ACCESS_KEY_SECRET, BUCKET_NAME]): print("OSS 配置缺失,请检查 backend/.env") sys.exit(1) auth = oss2.Auth(ACCESS_KEY_ID, ACCESS_KEY_SECRET) bucket = oss2.Bucket(auth, ENDPOINT, BUCKET_NAME) for local_file, oss_key in FILES: if not os.path.exists(local_file): print(f"文件不存在,跳过:{local_file}") continue print(f"正在上传 {local_file}(约 {os.path.getsize(local_file) // 1024 // 1024} MB)...") oss2.resumable_upload( bucket, oss_key, local_file, multipart_threshold=10 * 1024 * 1024, part_size=10 * 1024 * 1024, num_threads=4, ) url = f"https://{BUCKET_DOMAIN}/{oss_key}" print(f"上传成功:{url}\n")