Spaces:
Running
Running
| import oss2 | |
| auth = oss2.Auth('LTAI5tAGoBnm5eYsnZ5E1zMr', 'KsLQWLRSEVCfoUed3DVInGOou3TAQh') | |
| endpoint = 'https://oss-ap-southeast-1.aliyuncs.com' | |
| bucket = oss2.Bucket(auth, endpoint, 'ai-business-algo-pai') | |
| # file_path = os.path.join('tts_model', model_name) | |
| # bucket.put_object(file_path, audio_buffer.getvalue(), headers=headers) | |
| # print(bucket.sign_url('GET', file_path, 3600 * 24 * 30)) | |
| import os | |
| import tarfile | |
| from io import BytesIO | |
| from uuid import uuid1 | |
| def upload_tar_gz_file( | |
| file_path, # 本地 .tar.gz 文件路径 | |
| osspath="tts_model", # OSS存储路径 | |
| expire_time=30 # 签名URL有效期(天) | |
| ): | |
| """ | |
| 直接上传现有的 .tar.gz 文件到 OSS | |
| :param file_path: 本地 .tar.gz 文件路径 (如 "pretrained_models.tar.gz") | |
| :param osspath: OSS存储目录 (默认 "pretrained_models") | |
| :param expire_time: 签名URL有效期(天) | |
| :return: 签名URL | |
| """ | |
| # if not os.path.isfile(file_path): | |
| # raise ValueError("File not found: " + file_path) | |
| # 从文件名提取基础名称(保留 .tar.gz 后缀) | |
| print("file_path:", file_path) | |
| filename = os.path.basename(file_path) | |
| oss_filepath = os.path.join(osspath, filename) | |
| # 读取文件二进制内容 | |
| with open(file_path, "rb") as f: | |
| file_content = f.read() | |
| # 设置 OSS 文件头 | |
| headers = { | |
| "Content-Type": "application/gzip", | |
| "Content-Disposition": f'attachment; filename="{filename}"' | |
| } | |
| # 上传到 OSS | |
| session = oss2.Session() | |
| session.session.verify = False # 控制SSL验证 | |
| bucket.put_object(oss_filepath, file_content, headers=headers) | |
| # 生成签名 URL | |
| signed_url = bucket.sign_url("GET", oss_filepath, 3600 * 24 * expire_time) | |
| return signed_url | |
| if __name__ =="__main__": | |
| from oss2 import Bucket, Auth | |
| import sys | |
| # 初始化 OSS | |
| # auth = Auth("your_access_key_id", "your_access_key_secret") | |
| # bucket = Bucket(auth, "https://oss-cn-hangzhou.aliyuncs.com", "your-bucket-name") | |
| session = oss2.Session() | |
| session.session.verify = False # 控制SSL验证 | |
| # # 使用自定义会话创建Bucket | |
| # bucket = oss2.Bucket( | |
| # auth, | |
| # 'http://oss-ap-southeast-1.aliyuncs.com', # 注意使用http而非https | |
| # 'ai-business-algo-pai', | |
| # session=session | |
| # ) | |
| auth = oss2.Auth('LTAI5tAGoBnm5eYsnZ5E1zMr', 'KsLQWLRSEVCfoUed3DVInGOou3TAQh') | |
| endpoint = 'http://oss-ap-southeast-1.aliyuncs.com' | |
| bucket = oss2.Bucket(auth, endpoint, 'ai-business-algo-pai', session=session) | |
| # 上传文件夹 | |
| url = upload_tar_gz_file( | |
| file_path=sys.argv[1], | |
| osspath="tts_model", | |
| # compression_level=9, # 最高压缩 | |
| # expire_time=365, # 1年有效期 | |
| # remove_prefix="/mnt/by079416/fengping/CosyVoice2" # 去除本地路径前缀 | |
| ) | |
| print("Model uploaded. Download URL:", url) | |
| # import sys | |
| # upload_model_folder(sys.argv[1]) |