上传图片到S3
Upload image to S3
我正在开发一个使用 Python Tornado 的网络应用程序,我必须在其中将图像上传到 S3。它的工作。我的过程如下:
- 从请求中获取文件(使用表单数据发送)
- 保存在临时目录下
- 将其上传到 S3 存储桶
但我的问题是,
有没有办法避免在本地保存文件,因为我已经将文件的内容放在变量中了?这也是出于安全目的。
这个问题完全有道理!您需要将内存中存储的图像转换为字节数组。 Boto3 put_object 支持此处所述的字节:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.put_object
因此只需将存储 image_bytearray 的变量粘贴到 put_object() 中的 Body。
import boto3
session = boto3.Session()
s3 = session.client("s3")
s3.put_object(Body = iamge_bytearray, Bucket='your-s3-bucket', Key='test/test.png')
我正在开发一个使用 Python Tornado 的网络应用程序,我必须在其中将图像上传到 S3。它的工作。我的过程如下:
- 从请求中获取文件(使用表单数据发送)
- 保存在临时目录下
- 将其上传到 S3 存储桶
但我的问题是,
有没有办法避免在本地保存文件,因为我已经将文件的内容放在变量中了?这也是出于安全目的。
这个问题完全有道理!您需要将内存中存储的图像转换为字节数组。 Boto3 put_object 支持此处所述的字节:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.put_object
因此只需将存储 image_bytearray 的变量粘贴到 put_object() 中的 Body。
import boto3
session = boto3.Session()
s3 = session.client("s3")
s3.put_object(Body = iamge_bytearray, Bucket='your-s3-bucket', Key='test/test.png')