【Python】阿里云对象存储OSS图床上传图片
【预先准备】
首先需要在阿里云购买「对象存储OSS」服务,假设已经开通服务
- 首先创建Bucket: 名称要做到全局唯一,最终图床的链接就是以这里的命名开头 地域如果有特殊需求可修改其他位置 存储类型一般标准存储比较合适 读写权限推荐改为公共读,之后作为markdown的外链图片等比较方便,也可以上传临时文件让别人下载
- 获取Access Key,可以在右侧「常用入口」中找到(ps. 吐槽一句 为什么要做这么复杂,想找什么完全找不到啊…) 如果之前没有就创建一个,保存这里的AccessKey ID和Secret,后面要用
- 安装python所需环境,强烈推荐python=3.6,否则安装oss2包可能有各种各样的问题 oss2 anaconda安装:conda install -c conda-forge oss2
- 上传本地图片(文件)代码如下,记得把里面[ ] 换成自己的就可以了
import oss2, uuid
class AliyunOss(object):
    def __init__(self):
        self.access_key_id = "[AccessKey ID]"
        self.access_key_secret = "[Secret]"
        self.auth = oss2.Auth(self.access_key_id, self.access_key_secret)
        self.bucket_name = "[doublez-mytest]"
        self.endpoint = "[oss-cn-shanghai.aliyuncs.com]"
        self.bucket = oss2.Bucket(self.auth, self.endpoint, self.bucket_name)
    def put_object_from_file(self, name, file):
        self.bucket.put_object_from_file(name, file)
        return "https://{}.{}/{}".format(self.bucket_name, self.endpoint, name)
aliyunoss = AliyunOss()
img_url = aliyunoss.put_object_from_file("target_name.png", "img.png") 
- 最终的图片链接大致是这个格式:
【一个小坑】 最开始我是在mac上通过anaconda配置的环境,但一直报错oss2找不到,最后发现问题是conda环境默认使用的还是base的python版本,要强制通过python3执行命令才可以是conda真正的版本,总是有奇奇怪怪的问题
上一篇:
			            IDEA上Java项目控制台中文乱码 
			          
			          
			        
