python - 使用 Boto3 使用 Python 将图像上传到 Amazon S3 的最有效方法

标签 python boto3

我正在实现 Boto3 以将文件上传到 S3,一切正常。我正在做的过程如下:

我从 FileReader Javascript 对象获取 base64 图像。然后我通过 ajax 将 base64 发送到服务器,我解码 base64 图像并生成一个随机名称来重命名 key 参数

data = json.loads(message['text'])
dec = base64.b64decode(data['image'])
s3 = boto3.resource('s3')
s3.Bucket('bucket_name').put_object(Key='random_generated_name.png', Body=dec,ContentType='image/png',ACL='public-read')

这很好用,但考虑到性能,有没有更好的方法来改进它?

最佳答案

我用过这个,我相信它更有效和 pythonic。

    import boto3
    s3 = boto3.client('s3')
    bucket = 'your-bucket-name'
    file_name = 'location-of-your-file'
    key_name = 'name-of-file-in-s3'
    s3.upload_file(file_name, bucket, key_name)

关于python - 使用 Boto3 使用 Python 将图像上传到 Amazon S3 的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43816346/

相关文章:

python - 结果(Python)中的 "u"是什么?

python - 仅定义 '__getitem__' 方法的类如何支持 'in' 运算符?

python - Koch雪花渲染时间(以及如何使用turtle绘制雪花)

amazon-web-services - 从 CloudFormation 模板生成代码(java、python 等)

python - 如何从另一个 AWS 角色代入 AWS 角色?

amazon-web-services - 如何使用缓存的 boto3 客户端和 Lambda 预置并发刷新凭证?

python - 将 DataFrame 拆分为两个 DataFrame 并过滤这两个 DataFrame 以获得相同的维度

python - 由于 pandas.io.common 未在 1.0.x 中导入 is_url 而导致 Pandas read_csv 错误

amazon-dynamodb - 使用Boto3使用哈希键和范围键查询DynamoDB

amazon-web-services - AWS : Boto3 configuring bucket lifecycle - Malformed XML