Files
change_hair/project/hair_service_sd/upload_oss.py
T
xsl 443cfa298f 初始化:换发型/换发色/训练发型服务
包含:
- hair_service_sd: 主服务(换发型/换发色/生发,端口8801)
- photo_service: LoRA调度+训练(端口32678)
- hair_grow_service: 调试测试页(端口8888,含4个测试页)
- 批量训练脚本(batch_train_hairstyles.py)
- 发际线mask自动识别(hairline_mask.py,4种方案)
- 手绘mask换发型(hair_swap_manual.py)
- 文档:README.md + LARGE_FILES.md + docs/

大文件(模型权重200G、训练数据123G)已排除,见 LARGE_FILES.md
OSS/COS密钥已脱敏为环境变量,原文件备份在本地
2026-07-07 13:53:52 +08:00

33 lines
1.4 KiB
Python

import time
import oss2
import os
class OSS_object():
def __init__(self):
access_key_id = os.getenv('OSS_TEST_ACCESS_KEY_ID', '<your-access-key-id>')
access_key_secret = os.getenv('OSS_TEST_ACCESS_KEY_SECRET', '<your-access-key-secret>')
bucket_name = os.getenv('OSS_TEST_BUCKET', '<your-bucket-name>')
endpoint = os.getenv('OSS_TEST_ENDPOINT', '<your-endpoint>')
for param in (access_key_id, access_key_secret, bucket_name, endpoint):
assert '<' not in param, '请设置环境变量 OSS_TEST_ACCESS_KEY_ID / OSS_TEST_ACCESS_KEY_SECRET / OSS_TEST_BUCKET / OSS_TEST_ENDPOINT'
self.bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)
def upload_file(self, file, target_name):
t0 = time.time()
with open(oss2.to_unicode(file), 'rb') as f:
ret = self.bucket.put_object(target_name, f)
print(ret.headers['x-oss-request-id'])
url = "https://oss-aidigitalfield.oss-cn-beijing.aliyuncs.com/{}".format(target_name)
print('耗时:{},签名url的地址为:{}'.format(time.time() - t0, url))
return url
if __name__ == '__main__':
oss_2 = OSS_object()
t0 = time.time()
url = oss_2.upload_file('/home/szlc/Downloads/多中心录入模版.xlsx', 'tongji/多中心录入模版.xlsx')
print('url:', url)