You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python/Boto3上传图片至AWS S3并设置ContentType为image/jpeg?

当然可以直接在上传时设置Content-Type!

完全不用每次上传后去S3控制台手动修改元数据——你只需要在调用boto3的upload_fileobj方法时,通过ExtraArgs参数指定ContentType即可。

具体代码示例(适配Python 2.7)

import boto3
from io import BytesIO

# 初始化S3客户端
s3 = boto3.client('s3')

# 准备你的BytesIO对象(这里以读取本地图片为例)
bytes_io_file = BytesIO(open('local_image.jpg', 'rb').read())
bucket_name = 'your-target-bucket'
filename = 'images/uploaded_image.jpg'  # S3中的目标路径/文件名

# 上传时指定Content-Type为image/jpeg
s3.upload_fileobj(
    bytes_io_file,
    bucket_name,
    filename,
    ExtraArgs={'ContentType': 'image/jpeg'}
)

关键说明

  • ExtraArgs是upload_fileobj方法的可选参数,用来传递S3对象的元数据和配置项。除了ContentType,你还可以在这里设置其他元数据(比如CacheControl、ContentEncoding等)。
  • 这样上传完成后,S3中对应的对象会自动拥有image/jpeg的Content-Type属性,无需再手动去控制台调整。

内容的提问来源于stack exchange,提问作者FlyingZebra1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:40:52