需要调整和替换Amazon S3上的数百万图像

2024-05-08 17:45:31 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我的后端使用Django,前端使用iOS。用户可以从iOS应用程序拍摄照片并上传到Amazon S3。该应用程序为Django提供了图像的url,以便用户以后可以检索它们。在

这是一个非常简单的设置。但是我们最近遇到了一个问题。图像需要重新调整大小,以便用户的下载速度更快。Django由一个存储所有图像链接的postgresql数据库支持。在

这就产生了另一个问题,因为数据库已经包含了指向旧图像的url链接,所以我需要找到一种方法批量下载某个bucket中的所有图片,重新调整大小,然后重新上传到S3,以替换旧图片的图片名称。在

有没有Python式的方法?在


Tags: django方法用户图像数据库应用程序urlamazon
1条回答
网友
1楼 · 发布于 2024-05-08 17:45:31

假设我们使用一个图像库,比如^{}

示例用法:

from PIL.Image import Image, ANTIALIAS

img = Image.open('your_image_filename')
ogn_size = img.size  # gives you a tuple (x, y)

# base on ogn_size do proportional resizing, let's say by 50%. also apply the recommended
# downsizing high quality filter ANTIALIAS
image_half = img.resize( int(ogn_size[0] * 0.5), int(ogn_size[1] * 0.5), ANTIALIAS )

# more stuff to do, such as optimization on save
image_half.save( "your_image_filename_half", optimize=True,quality=80 )

请阅读文档,了解您可以在生产代码库https://pillow.readthedocs.org/en/latest/中使用的更多选项和api

相关问题 更多 >