七牛云与python交互的教程

て烟熏妆下的殇ゞ 提交于 2020-02-05 18:55:26

七牛云是什么

提供云存储服务

官方网址

七牛云 - 国内领先的企业级云服务商

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)


知识回顾

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!