Node.js 如何访问存储在谷歌云存储桶中的私有图像?React应用程序是访问要在图像标记中使用的应用程序
目标:拥有一个长期存在的私有/安全URL,后端(节点)可以为图像标记提供给前端(react)。这意味着只有通过该React应用程序才能访问URL以显示在图像标记中 问题:图像存储在谷歌云存储桶中。映像未设置为public,因此当React应用程序访问映像的URL(mediaLink)时,会出现403错误,因为React应用程序无法访问存储桶。只有后端(节点)拥有服务帐户才能访问Google云存储桶 其他资料:Node.js 如何访问存储在谷歌云存储桶中的私有图像?React应用程序是访问要在图像标记中使用的应用程序,node.js,reactjs,google-cloud-platform,google-cloud-storage,Node.js,Reactjs,Google Cloud Platform,Google Cloud Storage,目标:拥有一个长期存在的私有/安全URL,后端(节点)可以为图像标记提供给前端(react)。这意味着只有通过该React应用程序才能访问URL以显示在图像标记中 问题:图像存储在谷歌云存储桶中。映像未设置为public,因此当React应用程序访问映像的URL(mediaLink)时,会出现403错误,因为React应用程序无法访问存储桶。只有后端(节点)拥有服务帐户才能访问Google云存储桶 其他资料: 映像文件在MongoDB中有一个对应实体。实体有一个URL字段。React应用程序正
- 映像文件在MongoDB中有一个对应实体。实体有一个URL字段。React应用程序正在使用图像实体的URL字段来使用图像显示它
- 我们没有使用Firebase
- 签名URL不是一个选项,因为它最多只能生存7天。这不是一个好的解决方案,因为假设我们有1000个图像,当您想用新生成的签名URL更新数据库中这些图像的URL字段时,这是一种资源/操作的浪费。这将在先前签名的URL过期7天后重复
总之,您将不得不选择妥协,要么创建对后端的额外调用,要么在7天后执行额外操作以检索新的签名URL。Hello@acetdecastro,欢迎使用StackOverflow!请记住。这样我们就知道答案是否有用,其他社区成员是否也能从中受益。试着确定这是你问题的最终解决方案,对有帮助的答案进行投票,并对那些可以改进或需要额外关注的问题进行评论。祝您入住愉快!