利用python代码上传文件到七牛云

利用python代码上传文件到七牛云

代码功能:① 读取七牛云Bucket文件列表。② 上传示例图片到七牛云Bucket中的指定存储路径。
你需要修改的参数:key(access key)、secret(secret key)、bucket_namelocalfile(本地测试文件路径)、image_file中的测试域名。

# -*- coding: utf-8 -*-
# RUN TIME: Python 3.10
# CREATION ON: 2022-04-03(周日) 09:40:41
from qiniu import Auth, BucketManager, put_file

# 七牛相关配置
host = "rs.qbox.me" # 不用修改
key = "" # access key
secret = "" # secret key
q = Auth(key, secret)
bucket = BucketManager(q)
bucket_name = "" # 填你自己桶名称

def get_file_list():
    bucket = BucketManager(q)
    # 前缀
    prefix = "img" # 填写存储桶的目标文件夹
    # 列举条目
    limit = 1000
    # 列举出除'/'的所有文件以及以'/'为分隔的所有前缀
    delimiter = None
    # 标记
    marker = None
    ret, eof, info = bucket.list(bucket_name, prefix, marker, limit, delimiter)
    # print(info)
    items: list = ret.get('items')
    # 所有百分号(%25)都被转义为了百分号(%), 将 25 补充回去
    keys = []
    for item in items:
        key = item.get('key')
        idx = key.find('%')
        if idx >= 0:
            key = f'{key[:idx+1]}25{key[idx+1:]}'
        keys.append(key)
    print(keys)

def put_img():
        
    # 上传后保存的文件名
    key = '3-sigma-all.jpg'

    # 生成上传token
    token = q.upload_token(bucket_name, key)

    # 要上传文件的路径
    localfile = '3-sigma-all.png' # 测试文件

    ret, _ = put_file(token, key, localfile)

    # 拼接路径:r9ev3tkv2.bkt.clouddn.com 是创建空间时分配的测试域名,img是Bucket下自己创建的文件夹名称
    image_file = 'http://r9ev3tkv2.bkt.clouddn.com/img/' + ret.get('key')
    print(image_file)   

if __name__ == '__main__':
    print("file list in the bucket:")
    get_file_list()
    put_img()
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Anonymity~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值