【问题标题】:How to generate reference url for Google Cloud Storage image objects using java如何使用 java 为 Google Cloud Storage 图像对象生成参考 url
【发布时间】:2019-06-04 21:00:48
【问题描述】:

我想生成一个 URL 用于访问 Google Cloud Storage 中存储桶中的图像,因为我想在 html 的 img src 标记中引用它。原因是我们没有将图像存储在服务器中。

如何使用 java 实现以下功能?

  • 生成 URL 以引用我的 Google Cloud Storage 存储桶中的图像,https://storage.cloud.google.com/my-bucket-name/myImage.jpg
  • 此 URL 可用于获取对 img 标签的 src 的引用 但问题是只有登录谷歌的人才能查看,否则它会先要求登录。
  • 1234563感觉如果我可以使用 java 生成这个 URL,我可能能够解决问题。
  • 网址如下(随机假网址)

https://00e9e544fb-apidata.googleusercontent.com/download/storage/v1/b/my-bucket-name/o/myImage.jpg?qk=AD5-vreOG-Y-RsJ0DZuI--owy_O_cx1RQy_Ya_kn0A_T-i-T-3xhg

【问题讨论】:

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


    【解决方案1】:

    您最初的建议https://storage.cloud.google.com/my-bucket-name/myImage.jpg 应该没问题,但要使其在没有任何身份验证的情况下工作,您需要将这些对象的读取权限授予匿名用户。

    有关这方面的说明,请参阅Allow Public Read access on a GCS bucket?

    【讨论】:

    • 我尝试使用 -> gsutil acl ch -u AllUsers:R gs://yourbucket/** 向匿名用户授予读取权限,但效果很好,但我觉得将对象或存储桶公开并不好...你能说我有什么方法可以创建公共 url 的加密 url ....
    • 当然,您可以在 URL 上签名:gsutil signurl -d 1h service_account.json gs://bucket/object。这里的诀窍是此类 URL 仅在短时间内有效。
    • 嗯,我觉得这样就行了……谢谢,我会尽力回复你的……
    • 谢谢您,您的建议很棒,我使用 gsutil 以及 google cloud java api 创建了 url,请参阅此链接以获取使用 java- 创建 url 的代码。 hirooka.pro/?p=9132
    猜你喜欢
    • 2020-10-07
    • 2016-03-28
    • 2020-03-24
    • 2017-07-30
    • 2017-04-10
    • 1970-01-01
    • 2017-08-11
    • 2018-06-06
    • 1970-01-01
    相关资源
    最近更新 更多