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')

猜你喜欢

转载自www.cnblogs.com/jiaqi-666/p/11103601.html
今日推荐