boto3上传下载文件

确定文件类型

import filetype
file_type = filetype.guess_extension(file.read())

生成唯一key用于上传或下载文件

def upload_fileobj(file, key):
    bucket = settings.BUCKET
    client = create_aws_client()

    client.upload_fileobj(file, bucket, path + key)

client

def create_aws_client():
    access_key = settings.AWS_ACCESS_KEY
    secret_key = settings.AWS_SECRET_KEY
    region = settings.AWS_REGION

    client = boto3.client(
        's3',
        aws_access_key_id=access_key,
        aws_secret_access_key=secret_key,
        region_name=region
    )

    return client

download

def get_file_by_key(key):
    bucket = settings.BUCKET
    client = create_aws_client()
    try:
        resp = client.get_object(
            Bucket=bucket,
            Key=key
        )
    except client.exceptions.NoSuchKey:
        return None

    return resp.get('Body')

 

转载于:https://www.cnblogs.com/jiaqi-666/p/11103601.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值