通过请求网址调整Google云端图片大小?

时间:2018-01-05 16:11:22

标签: google-cloud-platform google-cloud-storage

我需要一张图像CDN,我可以从URL参数调整图像大小。所以,例如,如果我想要400px宽版本,我会使用www.cdn.com/image-400,如果我想要一个200px版本,它将是www.cdn.com/image-200

通过查看此博客文章,Google Cloud似乎可以做到这一点:

https://medium.com/google-cloud/uploading-resizing-and-serving-images-with-google-cloud-platform-ca9631a2c556

我无法理解文章,但我想知道它是否过时了。链接到Google的文档之一表示您应该使用Google云端存储https://cloud.google.com/appengine/docs/standard/python/blobstore/

我遇到了这两个问题,但他们似乎给出了相反的答案:

Get resized images from Google cloud storage

Resize image in Google Cloud Storage

Google Cloud可以根据网址调整图片大小吗?如果是的话,你怎么能这样做?我在Google云端存储中设置了一个存储桶,您可以使用这样的存储桶中的图像吗?

1 个答案:

答案 0 :(得分:1)

首先是的,这是可能的,但是作为你分享的第一个SO答案并没有直接实现,因为你注意到这个过程并不像将桶子的URL添加= sxx那么简单。 因此,编写https://storage.googleapis.com/bucketname/file.jpg=sxx不起作用。

为了创建能够支持此功能的URL,您必须使用Images API for Java,特别是getServingUrl() method(还有GO或{ {3}}版本),它将生成一个新网址,其中包含您所分享文章中包含的相同形状的网址。

一旦您检索到使用API​​的网址,您就可以获得已调整大小的图片,直接引用Python即可添加:

  • =sxx其中xx是0-2560的整数,表示图像最长边的长度(以像素为单位)。例如,添加= s32会调整图像大小,使其最长尺寸为32像素。

  • =sxx-c其中xx是一个整数 m 0-2560表示以像素为单位的裁剪图像尺寸,-c告诉系统裁剪图像。