背景:
以前在使用华为obs 进行图片下载(也就是浏览器查看图片),是直接使用地址访问obs。
比如:
endpoint: obs-example-domain.cn
图片名称: qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg
访问地址:
http://obs-example-domain.cn/qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg
wget 以上地址就可以下载图片。
但是使用python sdk 访问就会报错:
AK = 'PLAU4DD8EYVXSA****UL'
SK = 'MdNZCKgSwt9Qgq6ZXtaF7wtZOd8********xEiv'
server = "http://obs-example-domain.cn"
bucketName = 'qcx'
obsClient = ObsClient(access_key_id=AK, secret_access_key=SK, server=server)
name = "qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg"
resp = obsClient.getObject(bucketName, name, loadStreamInMemory=True)
print(resp.body)
输出: The specified key does not exist
以上程序中: name = qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg

本文介绍了在使用Python SDK访问华为OBS(Object Storage Service)时遇到的问题及其解决方法。当尝试通过SDK下载图片时,由于URL编码问题导致‘指定的键不存在’的错误。解决方法是将图片名称进行URL解码,然后用解码后的名称调用SDK的getObject方法,从而成功获取图片。此外,还提供了一个基于Python 2.7的简单HTTP服务器示例,用于处理图片请求。

168

被折叠的 条评论
为什么被折叠?



