【问题标题】:Allow broswer to download images from Google Cloud Storage?允许浏览器从 Google Cloud Storage 下载图片吗?
【发布时间】:2016-11-16 09:36:24
【问题描述】:

我有一个计算引擎和谷歌云存储一起工作。 计算引擎有一个运行的 tomcat,允许浏览器加载页面并从谷歌云存储中获取图像。

我如何允许 html 页面(由 servlet 生成)从谷歌云存储中下载多个图像,这些图像不是公共共享的??

我期望的是,当浏览器下载 html 页面时,它会直接从云存储中请求图像,但我怎样才能允许浏览器在不使图像公开共享的情况下做到这一点?

谢谢

【问题讨论】:

    标签: google-cloud-storage


    【解决方案1】:

    这很棘手,但可能。如果您想管理某种授权方案来确定哪些人可以查看 GCS 图像,哪些人不能查看 GCS 图像,您需要一项服务,该服务可以向您的服务决定授权的各方提供短期签名 URL。然后将 URL 嵌入到动态生成的 HTML 页面的图像标签中,或者使用 JavaScript 从服务器获取 URL。

    gcloud-java 库有一个 signURL 方法来生成这样的 URL。

    另一种选择是简单地将图像 URL 混淆为无法猜测的内容,并经常轮换它们。

    【讨论】:

    • URL url = storage.signUrl( BlobInfo.builder("bucket", "img.jpg").build(), 10, TimeUnit.SECONDS, SignUrlOption.signWith(ServiceAccountCredentials.fromStream(new FileInputStream (keyPath))));字符串 imgPath = url.toString(); //out.write("Img path=" + imgPath + "
      "); out.write("
      ");
    猜你喜欢
    • 2016-04-13
    • 2020-06-21
    • 2018-09-24
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    相关资源
    最近更新 更多