我需要一个图像 CDN,我可以在其中从 URL 参数调整图像大小。例如,如果我想要一个 400 像素宽的版本,我会使用 www.cdn.com/image-400
如果我想要一个 200 像素的版本,它会是 www.cdn.com/image-200
从看这篇博文看来,谷歌云可以做到这一点:
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/
我遇到了这两个 SO 问题,但它们似乎给出了相反的答案:
Get resized images from Google cloud storage
Resize image in Google Cloud Storage
Google Cloud 可以根据 url 调整图像大小吗?如果是这样,那么你怎么能做到这一点?我在 Google Cloud Storage 中设置了一个存储分区,您可以使用这样的存储分区中的图像吗?
最佳答案
首先是的,这是可能的,但是作为您共享的第一个 SO 答案,它没有直接实现,并且正如您注意到的那样,它不像将 =sxx 添加到存储桶的 URL 那样简单。
因此写作 https://storage.googleapis.com/bucketname/file.jpg=sxx
不起作用。
为了创建能够支持此功能的 URL,您必须使用 Java 的图像 API,特别是 getServingUrl()
method (还有 GO 或 Python 版本),它将生成一个与您分享的文章中包含的 URL 形状完全相同的新 URL。
使用 API 检索 URL 后,您将能够获取调整大小的图像,直接引用 from the official documentation您将能够添加:
=sxx
其中 xx 是 0-2560 之间的整数,表示图像最长边的长度(以像素为单位)。例如,添加 =s32 调整图像大小,使其最长尺寸为 32 像素。 =sxx-c
其中 xx 是一个整数m 0–2560 表示以像素为单位的裁剪图像大小,-c 告诉系统裁剪图像。
关于google-cloud-platform - 通过请求 URL 调整 Google Cloud 图像的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48117282/