Google 云存储图片 public link to img src

Google cloud storage image public link to img src

您好,我已经调查过相关问题,但未能找到答案。我想在我的网站上提供来自 google 云存储的 public 链接,但它们只能作为下载链接使用。我无法将它们放置为 img src 来加载它们。由于 CORS,我无法从我的网页 js 下载图像异步。有解决方法吗?我想知道我是否可以最初将它们异步定义为下载链接并强制 onclick 下载它们,然后使用文件 reader 使 blob 用作 img src。

更新:我发现 Chromium 存在问题。我将 Firefox 与 CORS_Everywhere 一起使用,请求有效。我的网站上线后,图片会遇到同样的问题吗?还是 CORS 不接受本地主机?还是取决于浏览器?

谢谢, 计时员

我不完全确定你想做什么。听起来您想在来源位于 GCS 中的 <img> 标记中显示图像。您不需要任何类型的 CORS 政策或 Javascript 诡计,所以我可能误解了您的问题。

要在网站上包含 GCS 图片,请确保图片 public 可见,然后只包含如下图片标签:<img src="https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME" />.

使用评论中的答案进行编辑:

如果您在不指定内容类型的情况下上传对象,GCS 默认为通用 "application/octet-stream." Web 浏览器通常默认保存 application/octet-stream 响应。如果您想通过网络提供 JPEG 图像,请确保其具有 Content-Type "image/jpeg"。

还有一个警告:

还有另一条路径使用 https://storage.cloud.google.com/ 路径,但那条路径是供用户使用自己帐户的 Google cookie 进行身份验证的,通常您在提供服务时不想依赖它 public内容。使用 https://storage.googleapis.com.