39 lines
1.5 KiB
Python
39 lines
1.5 KiB
Python
import oss2
|
|
|
|
def upload_to_oss(image_path, object_name=None):
|
|
# 配置信息(替换为你的实际信息)
|
|
access_key_id = 'LTAI5tGp1sLzedqxihcNC1eb'
|
|
access_key_secret = 'IFZE1b8YYreCP6zfA6GaZ9uBT678qO'
|
|
endpoint = 'oss-cn-beijing.aliyuncs.com' # 替换为你的Endpoint
|
|
bucket_name = 'xiangsilian'
|
|
|
|
# 创建Bucket实例
|
|
auth = oss2.Auth(access_key_id, access_key_secret)
|
|
bucket = oss2.Bucket(auth, endpoint, bucket_name)
|
|
|
|
# 如果没有指定OSS文件名,则使用本地文件名
|
|
if object_name is None:
|
|
object_name = image_path.split('/')[-1] # 取本地文件名
|
|
|
|
try:
|
|
# 上传文件
|
|
bucket.put_object_from_file(object_name, image_path)
|
|
|
|
# 获取文件URL(有效期默认10年)
|
|
url = bucket.sign_url('GET', object_name, 3600 * 24 * 365 * 10)
|
|
|
|
# 或者使用公共读Bucket的URL(如果Bucket是公共读权限)
|
|
# url = f"https://{bucket_name}.{endpoint}/{object_name}"
|
|
|
|
print(f"文件上传成功,URL: {url}")
|
|
return url
|
|
except Exception as e:
|
|
print(f"上传失败: {str(e)}")
|
|
return None
|
|
|
|
# 使用示例
|
|
image_path = '/home/xsl/code/ComfyUI/change_cloth/girl8010.jpg' # 本地图片路径
|
|
upload_to_oss(image_path, 'girl8011.jpg') # 第二个参数可选,指定OSS上的路径
|
|
https_url = f'https://xiangsilian.oss-cn-beijing.aliyuncs.com/girl8011.jpg'
|
|
print(f"生成的HTTPS URL: {https_url}")
|