我有一个iOS应用,用户可以将图像直接上传到Google云端存储。我通过在我的Python Google App Engine后端使用函数blobstore.create_upload_url
并将URL发送到我的应用程序来实现此目的。
但是,由于图像太大,将这些图像显示给用户的时间太长,因此我意识到我需要在Google云端存储中压缩这些图像。
你知道如何以编程方式实现这一目标吗?我知道我可以执行终端命令来压缩并将图像重新上传到Google云端存储,但我需要在我的应用程序中以编程方式执行此操作。
答案 0 :(得分:0)
我不完全确定您正在寻找什么类型的压缩,但应用引擎提供了一个图像服务,允许您调整图像大小。
从他们的文档中,您可以将图像服务与blob存储一起用作源 -
Images服务可以使用Blobstore值作为a的源 转型。源图像可以与最大尺寸一样大 对于Blobstore值。图像服务仍然返回 将图像转换为应用程序,因此转换后的图像必须是 小于32兆字节。这对于制作缩略图图像非常有用 用户上传的大型照片。
这些方面的东西 -
from google.appengine.api import images
image = Image(blob_key=YOUR_BLOB_KEY)
image.resize(width=YOUR_WIDTH, height=YOUR_HEIGHT)
compressed_image = image.execute_transforms(output_encoding=images.JPEG)
以下是API的概述和列表api参考 -
https://cloud.google.com/appengine/docs/standard/python/images/ https://cloud.google.com/appengine/docs/standard/python/refdocs/google.appengine.api.images