【问题标题】:Google Cloud Storage serve images in different sizes?谷歌云存储提供不同尺寸的图片?
【发布时间】:2021-09-20 03:13:38
【问题描述】:

我已经在 GCP 云存储中以非常高分辨率存储了数千张图像。我想在 iOS/Android 应用程序和网站上提供这些图像。我不想一直提供高分辨率版本,并想知道我是否必须创建不同分辨率的重复图像——这似乎非常低效。完美的解决方案是我可以将 ?size=100 之类的参数附加到图像 URL。使用 GCP Cloud Storage 可以实现类似的功能吗?

我在云存储的文档中没有找到任何内容:https://cloud.google.com/storage/docs。 其他几个资源链接到已弃用的解决方案:https://medium.com/google-cloud/uploading-resizing-and-serving-images-with-google-cloud-platform-ca9631a2c556

实现此类功能的最佳解决方案是什么?

【问题讨论】:

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


    【解决方案1】:

    约翰·汉利是正确的。 Cloud Storage 目前还没有映像服务,尽管a Feature Request 已经存在。我强烈建议您“+1”和“star”这个问题,以增加它在开发中被优先考虑的机会。

    你说得对,这个用例很常见。 Image API 是旧版 App Engine API。它不再是推荐的解决方案,因为旧版 App Engine API 仅在支持有限的旧运行时中可用。 GCP 会建议开发人员改用客户端库,但由于您请求的功能尚不可用,因此您必须使用第三方图像库。

    在这种情况下,开发人员通常将 Cloud Functions 与 Cloud Storage Trigger 结合使用,从而调整大小并创建不同分辨率的重复图像。虽然您可能会发现该解决方案效率低下,但遗憾的是,您别无选择,只能处理这些图像,直到功能请求公开可用为止。

    不过,有一个好处是 Cloud Functions 支持多个运行时,因此您可以使用任何受支持的语言编写代码并选择您喜欢使用的库。如果您使用的是 Node 运行时,请随时查看sample,它会在图像上传到 Cloud Storage 时自动创建缩略图。

    【讨论】:

    • 感谢您的提示。我“加星标”了这个问题。使用 Cloud Functions 进行图像优化的缺点是您必须预先确定所需的尺寸和格式。我一直在寻找一种可以为我提供极大灵活性的解决方案。最后,我最终使用了“Cloudimage”,它可以轻松地与我的 GCP 云存储连接,并且可以用作我的图像的 CDN。您不仅可以为 URL 添加大小参数,还可以过滤(黑/白)、旋转甚至在图像上添加水印。这正是我一直在寻找的,并且很好地解决了我的问题。
    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    相关资源
    最近更新 更多