种地 发表于 2024-6-14 23:19:36

python 获取阿里云oss文件分享url

阿里云文档链接:媒介
在阿里云把所有东西都配好之后按照代码填写对应的 AccessKeyId、yourAccessKeySecret等
import oss2
import requests

auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')



bucket = oss2.Bucket(auth, 'yourEndpoint', 'examplebucket')
object_name = 'exampledir/exampleobject.txt'

# 指定Header。
headers = dict()
# 指定Accept-Encoding。
headers['Accept-Encoding'] = 'gzip'

# 指定HTTP查询参数。
params = dict()
# 设置单链接限速,单位为bit,例如限速100 KB/s。
# params['x-oss-traffic-limit'] = str(100 * 1024 * 8)
# 指定IP地址或者IP地址段。
# params['x-oss-ac-source-ip'] = "127.0.0.1"
# 指定子网掩码中1的个数。
# params['x-oss-ac-subnet-mask'] = "32"
# 指定VPC ID。
# params['x-oss-ac-vpc-id'] = "vpc-t4nlw426y44rd3iq4****"
# 指定是否允许转发请求。
# params['x-oss-ac-forward-allow'] = "true"

# 生成上传文件的签名URL,有效时间为60秒。
# 生成签名URL时,OSS默认会对Object完整路径中的正斜线(/)进行转义,从而导致生成的签名URL无法直接使用。
# 设置slash_safe为True,OSS不会对Object完整路径中的正斜线(/)进行转义,此时生成的签名URL可以直接使用。
url = bucket.sign_url('GET', object_name, 60, slash_safe=True, headers=headers, params=params)
print('签名URL的地址为:', url)

# 通过签名URL下载文件,以requests为例说明。
resp = requests.get(url, headers=headers)

# 填写本地文件路径,例如D:\\exampledir\\examplefile.txt。
with open("D:\\exampledir\\examplefile.txt", "wb") as code:
    code.write(resp.content)  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: python 获取阿里云oss文件分享url