【原文链接】Python实现将图片上传到基于阿里云OSS对象存储的图床
pip install oss2
(1)登录阿里云后,搜索OSS,然后可以从如下位置,进入控制台
(2)然后点击【Bucket列表】,再点击进入已经创建好的Bucket
(1)如下为获取Endpoint,在对应的Bucket列表中点击【概览】即可查到
(2)点击头像,然后点击【AccessKey 管理】
(3)点击【查看Secret】
(4)然后就可以查到AccessKey ID 和 AccessKey Secret。
这里创建demo.py文件,并且在同目录下放一个100.png的图片,然后编写Python代码如下
import oss2
class AliyunOss(object):
def __init__(self):
self.access_key_id = "LTAIxxxxxxxQVw" # 从阿里云查询到的 AccessKey 的ID
self.access_key_secret = "lo1RTDxxxxxxxxxzGAqkKM" # 从阿里云查询到的 AccessKey 的Secret
self.auth = oss2.Auth(self.access_key_id, self.access_key_secret)
self.bucket_name = "redrose2100" # 阿里云上创建好的Bucket的名称
self.endpoint = "oss-cn-hangzhou.aliyuncs.com" # 阿里云从Bucket中查询到的endpoint
self.bucket = oss2.Bucket(self.auth, self.endpoint, self.bucket_name)
def put_object_from_file(self, name, file):
"""
:param name: 在阿里云Bucket中要保存的文件名
:param file: 本地图片的文件名
:return:
"""
self.bucket.put_object_from_file(name, file)
return "https://{}.{}/{}".format(self.bucket_name, self.endpoint, name)
# 此处第一个参数 img/100.png 中的img是阿里云的Bucket中事先创建好的img文件夹,第二个参数100.png是本地的图片100.png
img_url = AliyunOss().put_object_from_file("img/100.png","100.png")
print(img_url)
执行之后打印的结果为图片在图床中保存后的url,比如这里:https://redrose2100.oss-cn-hangzhou.aliyuncs.com/img/100.png
然后在阿里云的图床中就可以看到已经上传上去的图片了,如下: