我有一个场景,用户可以将图像上传到Firebase Storage,但是我不希望他们能够获得这些图像的URL(复制图像地址)。相反,我想为他们提供一个斑点。
当用户上传图像客户端时,我获得了下载URL并将其存储在Firestore中。当用户想要查看图像时,我具有云功能,可以下载该图像并将其作为Blob发送给用户。
这非常适合用户上传的图像,但是我还具有云功能,当图像上传并生成缩略图时会自动触发。
如何从Cloud Function / Node服务器获取此生成图像的永久下载URL?我可以签一个,但这不是我所需要的
答案 0 :(得分:1)
您不能直接使用Google Cloud Storage。 signed URL的寿命不能超过7天
最长有效期值为604800秒(7天)。
您可以保留生成的缩略图的链接,但是您必须每次下载并提供它,或者每次都生成一个签名的URL以使用和显示它。第二种解决方案减少了处理时间,从而降低了成本。
答案 1 :(得分:0)
如果您希望使用永久URL访问数据,则可以根据本文档[1]将其公开。
请记住,通过Google Cloud Platform Console访问公共数据时,您必须通过Google进行身份验证。可以使用任何Google帐户访问该帐户,该帐户不必与包含公共数据的项目关联,也不必在Cloud Storage服务中注册[2]。
[1] https://cloud.google.com/storage/docs/access-control/making-data-public
[2] https://cloud.google.com/storage/docs/access-public-data