• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
带驴上飞机
博客园    首页    新随笔    联系   管理    订阅  订阅

腾讯云文件上传

腾讯云图片上传
`安装相应包:

pip install -U cos-python-sdk-v5

在腾讯云上申请密钥

创建自己的存储桶

PUT Object

class Upload(APIView):
    def post(self,request):
        
        file=request.FILES.get('file')
        print(file.name)

        from qcloud_cos import CosConfig
        from qcloud_cos import CosS3Client

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

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

        response = client.put_object(
        Bucket='替换为自己的Bucket',  # Bucket由bucketname-appid组成
        Body=file,      # 文件
        Key=file.name,      #文件名 
        StorageClass='STANDARD',
        ContentType='image; charset=utf-8'
        )
        print(response['ETag'])
        return Response({'code':200})

请求头:

名称 描述 类型 是否必选
Cache-Control RFC 2616 中定义的缓存指令,将作为对象元数据保存 string 否
Content-Disposition RFC 2616 中定义的文件名称,将作为对象元数据保存 string 否
Content-Encoding RFC 2616 中定义的编码格式,将作为对象元数据保存 string 否
Content-Type RFC 2616 中定义的 HTTP 请求内容类型(MIME),此头部用于描述待上传对象的内容类型,将作为对象元数据保存。 例如text/html或image/jpeg string 是
Expires RFC 2616 中定义的缓存失效时间,将作为对象元数据保存 string 否
Transfer-Encoding 如果希望在上传时分块传输,则指定 Transfer-Encoding: chunked 请求头部,此时请求体遵循 RFC 2616 中定义的传输编码格式,且不能指定 Content-Length 请求头部 string 否
x-cos-meta-* 包括用户自定义元数据头部后缀和用户自定义元数据信息,将作为对象元数据保存,大小限制为2KB 注意:用户自定义元数据信息支持下划线(_),但用户自定义元数据头部后缀不支持下划线,仅支持减号(-) string 否
x-cos-storage-class 对象存储类型。枚举值请参见 存储类型 文档,例如 MAZ_STANDARD,MAZ_STANDARD_IA,STANDARD_IA,ARCHIVE,DEEP_ARCHIVE。默认值:STANDARD Enum 否
x-cos-traffic-limit 针对本次上传进行流量控制的限速值,必须为数字,单位默认为 bit/s。限速值设置范围为819200 - 838860800,即100KB/s - 100MB/s,如果超出该范围将返回400错误

本地文件上传

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='替换自己的Bucket',
    LocalFilePath='code.png',  # 本地文件的路径
    Key='p1.jpg',  # 上传到桶之后想要的文件名
)
print(response['ETag'])

`

posted @ 2020-11-12 19:50  带驴上飞机  阅读(317)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3