通过请求 URL 调整 Google Cloud 图像大小?

Eva*_*nss 6 google-cloud-storage google-cloud-platform

我需要一个图像 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 Cloud Storage https://cloud.google.com/appengine/docs/standard/python/blobstore/

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

从 Google 云存储获取调整大小的图像

调整 Google Cloud Storage 中的图像大小

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

Gal*_*one 4

首先,是的,这是可能的,但作为您分享的第一个 SO 答案,它不是直接实现的,并且正如您注意到的过程,它并不像将 =sxx 添加到存储桶的 URL 那样简单。\n因此写入https://storage.googleapis.com/bucketname/file.jpg=sxx不起作用。

\n\n

为了创建一个能够支持此功能的 URL,您必须使用 Java 的 Images API,特别是该getServingUrl() 方法(还有GOPython版本)将生成一个与您共享的文章中包含的 URL。

\n\n

使用 API 检索 URL 后,您将能够获得调整大小的图像,直接引用您将能够添加的官方文档:

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

  • \n
  • =sxx-c其中 xx 是从 \nm 0\xe2\x80\x932560 开始的整数,表示裁剪后的图像大小(以像素为单位),-c 告诉系统裁剪图像。

  • \n
\n