微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何访问存储在 Google Cloud Storage 存储桶中的私有图像? React 应用程序是要在图像标记中使用的访问

如何解决如何访问存储在 Google Cloud Storage 存储桶中的私有图像? React 应用程序是要在图像标记中使用的访问

目标:拥有一个长期存在的私有/安全 URL,后端(节点)可以将图像标签提供给前端(反应)。这意味着只有从该 React 应用程序才能访问 URL 以显示在图像标签中。

问题:图像存储在 Google Cloud Storage 存储分区中。该图像未设置为公开,因此当 React 应用访问图像的 URL (mediaLink) 时,会收到 403 错误,因为 React 应用无法访问存储桶。只有后端(节点)拥有服务帐户才能访问 Google Cloud Storage 存储分区。

其他信息:

  • 图像文件在 MongoDB 中有一个对应实体。该实体有一个 URL 字段。 React 应用正在使用图像实体的 URL 字段来使用图像显示它。
  • 我们没有使用 Firebase。
  • 签名 URL 不是一个选项,因为它最多只能存活 7 天。这不是一个好的解决方案,因为假设我们有 1000 张图像,当您想使用新生成的签名 URL 更新数据库中这些图像的 URL 字段时,这是一种资源/操作的浪费。这将在先前签名 URL 到期 7 天后重复。

解决方法

签名 URL 将是最适合您所描述问题的解决方案,但如果由于其他原因它不是一个选项,我会说您将不得不创建一个后端端点来检索该图像,以模拟服务帐户访问权限不会过期。

总而言之,您将不得不选择妥协,要么创建对后端的额外调用,要么额外操作以在 7 天后检索新的签名 URL。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。