Python实现将图片上传到基于阿里云OSS对象存储的图床
2023-09-14 09:12:50 时间
【原文链接】Python实现将图片上传到基于阿里云OSS对象存储的图床
一、安装 oss2 依赖库
pip install oss2
二、从阿里云查询endpoint和AccessKey的相关信息
(1)登录阿里云后,搜索OSS,然后可以从如下位置,进入控制台
(2)然后点击【Bucket列表】,再点击进入已经创建好的Bucket
(1)如下为获取Endpoint,在对应的Bucket列表中点击【概览】即可查到
(2)点击头像,然后点击【AccessKey 管理】
(3)点击【查看Secret】
(4)然后就可以查到AccessKey ID 和 AccessKey Secret。
三、编写Python代码
这里创建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
然后在阿里云的图床中就可以看到已经上传上去的图片了,如下:
相关文章
- python pdfkit生成PDF
- Python的小数据存储,用什么格式更有逼格?
- Python(字符编码)
- python数据持久存储:pickle模块的基本使用
- Python的dict字典结构操作方法学习笔记
- python:pip升级pip本身和setuptools(Python 3.7.15)
- 归纳整理Python中的控制流语句的知识点
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- Python IDE之Pydev: 基于Eclipse搭建python的编译环境(Eclipse+pydev)简介、安装、使用技巧方法集合之详细攻略
- Python之API:基于python语言调用华为云API(华为网站)实现特定功能
- 〖Python自动化办公篇⑭〗- Excel 文件自动化 - 写入图表
- 【Python成长之路】python并发学习:多进程与多线程的用法及场景介绍
- Python Django框架学习05:Django 模板
- 【华为机试真题 Python实现】拼接 URL【2022 Q1 Q2 |100分】
- Python: yield, python 实现tail -f
- Python+Django+SAE系列教程15-----输出非HTML内容(图片/PDF)
- python IDLE 背景修改 IDLE (Python GUI)
- python自动化测试学习-Python测试框架之unittest和pytest
- python基础===Python 迭代器模块 itertools 简介
- dockerfile中设置python虚拟环境+gunicorn启动
- Python少儿编程提高篇(2)列表
- Python .py 文件打包成 .exe 文件(Windows平台,python 3.x)