七牛云与python交互的教程

七牛云是什么

提供云存储服务

官方网址

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

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)


知识回顾

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值