前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python 操作腾讯对象存储(COS)详细教程

Python 操作腾讯对象存储(COS)详细教程

原创
作者头像
ruochen
修改2021-01-18 14:22:08
修改2021-01-18 14:22:08
7.3K1
举报

django项目中,使用editormd时需要上传本地图片,使用到了腾讯对象存储,通过后台可以将图片上传到COS,由此记录一下。 <font color="red">想了解django中如何引入markdown编辑器可以参考此篇文章 --> django 中引入markdown编辑器</font>

1. 腾讯对象存储

1.1 开通服务

1.2 后台

1.3 创建桶

1.4 上传文件及查看

  • 上传文件
  • 上传后,点击详情,进入后会看到一个对象地址,复制在浏览器打开即可查看文件

“桶” 的概念可以理解为一块区域,或者是一个文件夹,能够进行数据存取

2. python实现上传文件

点击概览,我们可以看到SDK文档,打开查找python SDK文档

代码语言:txt
复制
pip install -U cos-python-sdk-v5
代码语言:txt
复制
# -*- coding=utf-8
# appid 已在配置中移除,请在参数 Bucket 中带上 appid。Bucket 由 BucketName-APPID 组成
# 1. 设置用户配置, 包括 secretId,secretKey 以及 Region
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys

secret_id = 'COS_SECRETID'      # 替换为用户的 secretId
secret_key = 'COS_SECRETKEY'      # 替换为用户的 secretKey
region = 'ap-nanjing'     # 替换为用户的 Region

token = None                # 使用临时密钥需要传入 Token,默认为空,可不填
scheme = 'https'            # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
# 2. 获取客户端对象
client = CosS3Client(config)

<font color="red">secret_id & secret_key</font>

? <font color="red">region: 区域</font>

代码语言:txt
复制
# 创建桶
response = client.create_bucket(
    # 桶的名称
    Bucket='ruochen-1301954372'
)

代码语言:txt
复制
# 上传文件
response = client.upload_file(
    Bucket='ruochen-1301954372',
    LocalFilePath='local.txt',  # 本地文件的路径
    Key='picture.jpg',  # 上传到桶之后的文件名
    PartSize=1,  # 上传分成几部分
    MAXThread=10,  # 支持最多的线程数
    EnableMD5=False  # 是否支持MD5
)
print(response['ETag'])

2.1 上传文件示例代码

代码语言:txt
复制
# -*- coding: UTF-8 -*-
'''=================================================
@Project -> File   :MyDjango -> cos_upload_demo
@IDE    :PyCharm
@Author :ruochen
@Date   :2020/7/17 11:52
@Desc   :
=================================================='''
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client

secret_id = '自己id'  # 替换为用户的 secretId
secret_key = '自己key'  # 替换为用户的 secretKey
region = 'ap-nanjing'  # 替换为用户的 Region

config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key)
client = CosS3Client(config)

response = client.upload_file(
    Bucket='ruochen-1301954372',
    LocalFilePath='code.png',  # 本地文件的路径
    Key='p1.jpg',  # 上传到桶之后的文件名
)
print(response['ETag'])

2.2 创建桶示例代码

代码语言:txt
复制
# -*- coding: UTF-8 -*-
'''=================================================
@Project -> File   :MyDjango -> cos_upload_demo
@IDE    :PyCharm
@Author :ruochen
@Date   :2020/7/17 11:52
@Desc   :
=================================================='''
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client

secret_id = '自己id'  # 替换为用户的 secretId
secret_key = '自己key'  # 替换为用户的 secretKey
region = 'ap-nanjing'  # 替换为用户的 Region

config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key)
client = CosS3Client(config)

response = client.create_bucket(
    Bucket='test-1301954372',
    ACL='public-read',  # private / public-read / public-read-wirte
)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 腾讯对象存储
    • 1.1 开通服务
    • 1.2 后台
    • 1.3 创建桶
    • 1.4 上传文件及查看
  • 2. python实现上传文件
    • 2.1 上传文件示例代码
    • 2.2 创建桶示例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档