七牛云是什么
提供云存储服务
官方网址
七牛云 - 国内领先的企业级云服务商
https://www.qiniu.com/
注册与激活
七牛云 - 注册有礼 https://portal.qiniu.com/signup
跳转激活
输入帐号和密码,登陆
激活成功
尝试新建空间存图片
管理后台,对象存储是重点
新建空间
403错误
原因可能是没有实名认证
需要:实名认证一下子
实名认证
https://portal.qiniu.com/identity/choice
个人认证,提交身份资料
提交后,支付宝验证
服务授权
申请已提交,处理中
再次创建空间
查看空间
点击空间名称
python操作七牛云
- 找文档
- 找功能代码
- 编辑所需的功能
》找文档
》查看文档
使用
》需要先安装
pip install qiniu
相当数据的查找
key 的查找
代码
"""
Python SDK_SDK_对象存储 - 七牛开发者中心
https://developer.qiniu.com/kodo/sdk/1242/python#3
"""
from qiniu import Auth, put_file, etag
import qiniu.config
#需要填写你的 Access Key 和 Secret Key
access_key = 'gMQ_x2DD6xcBsHf7Bwn4iRGFLwLilsmiW5DG3RsI'
secret_key = 'CAvmXjwUEZm8d8h_gStjOLKqy9ssx6mSHtlcFsdf'
#构建鉴权对象
q = Auth(access_key, secret_key)
#要上传的空间
bucket_name = 'test-two'
#上传后保存的文件名
key = 'testupimg.png'
#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)
#要上传文件的本地路径
localfile = './bd.jpg'
ret, info = put_file(token, key, localfile)
print(info)
assert ret['key'] == key
assert ret['hash'] == etag(localfile)
网址拼接的技术
urljoin
功能封装
"""
Python SDK_SDK_对象存储 - 七牛开发者中心
https://developer.qiniu.com/kodo/sdk/1242/python#3
"""
# 需要填写你的 Access Key 和 Secret Key
access_key = 'gMQ_x2DD6xcBsHf7Bwn4iRGFLwLilsmiW5DG3RsI'
secret_key = 'CAvmXjwUEZm8d8h_gStjOLKqy9ssx6mSHtlcFsdf'
from urllib.parse import urljoin
# 目标
# 写一个函数,功能是上传本地图片
# 返回值是上传后的网络图片的地址
# 空间名称与空间网址的对应字典
space2url ={
"test-two":"http://q57wyk04l.bkt.clouddn.com",
"x":"urlx"
}
def up2qiniu(local_img,space_name,img_name):
"""
本图图片的上传
:param local_img: 本地图片路径
:param space_name: 云服务器的空间名称
:param img_name: 上传后的网络上保存的图片名称
:return img_url: 远程图片的路径(绝对路径)
"""
from qiniu import Auth, put_file, etag
import qiniu.config
# 构建鉴权对象
q = Auth(access_key, secret_key)
# 要上传的空间
bucket_name = space_name
# 上传后保存的文件名
key = img_name
# 生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)
# 要上传文件的本地路径
localfile = local_img
ret, info = put_file(token, key, localfile)
print(info)
assert ret['key'] == key
assert ret['hash'] == etag(localfile)
# img_url = 空间名称 拼接 远程图片名称
# img_url = urljoin("http://q57wyk04l.bkt.clouddn.com", img_name)
img_url = urljoin(space2url[space_name], img_name)
return img_url
res = up2qiniu("./fy.jpeg", "test-two","far_fy.jpeg")
print(res)
知识回顾
来源:CSDN
作者:ifubing
链接:https://blog.csdn.net/ifubing/article/details/104181073