0、注册并构建七牛云的存储空间(略)注册地址
1、安装
pip install qiniu
2、上传图片接口
from flask import current_app
from qiniu import Auth, put_file, etag, put_data
import qiniu.config
def upload_image(data):
"""
上传二进制图片数据到七牛云
:param data: bytes类型图片数据
:return: 图片名称
"""
# 需要填写你的 Access Key 和 Secret Key
access_key = current_app.config["QINIU_ACCESS_KEY"]
secret_key = current_app.config["QINIU_SECRET_KEY"]
# 构建鉴权对象
q = Auth(access_key, secret_key)
# 要上传的空间
bucket_name = current_app.config["QINIU_BUCKET_NAME"]
# 上传后保存的文件名
# 当图片名称为空,七牛云会根据图片数据通过hash函数生成一个唯一的图片名称 [防止数据重复上传]
key = None
# 生成上传 Token,可以指定过期时间等 1小时有效期
# 坑:防止centOS时间超前过期(保证时间够长)
token = q.upload_token(bucket_name, key, 36000000)
# 方案1:要上传文件的本地路径
# localfile = './sync/bbb.jpg'
# ret, info = put_file(token, key, localfile)
# 方案2:上传二进制图片数据
ret, info = put_data(token, key, data)
print(ret)
print("**" * 10)
print(info)
if info.status_code == 200:
# 上传图片成功
# 返回图片名称
return ret["key"]
else:
# 上传图片失败
# 封装的工具类,如果遇到异常一定要抛出异常
print('发生错误了!!!')
raise info.exception
if __name__ == '__main__':
with open("./1234.jpg", 'rb') as f:
upload_image(f.read())
七牛云图片上传

2418

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



