如何观察Firebase存储对象的downloadUrl更改?

时间:2019-12-14 12:41:40

标签: firebase google-cloud-firestore google-cloud-storage firebase-storage

假设我们将用户的照片存储在Storage中,并且在用户“ photoURL”中存储该图像的downloadUrl。

之后,让我们说说该照片的downloadUrl被该应用的管理员以某种方式吊销了。

现在,用户的photoURL消失了。

有什么方法可以观察存储项目的dowloadUrl变化吗?我还没找到如果没有;这里有两个想法;我应该去哪一个?

第二种方式:

存储存储位置而不是downloadURL并每次都请求dowloadUrl,我不想这样做,因为它总共需要3个请求,而不是2个。对于类似社交媒体的应用程序,这应该太多了。另外,如果用户通过Facebook,Twitter等进行了身份验证,则他们的照片将由这些提供商提供,并且我需要检查每个URL是否是“存储位置”或直接URL。

第三种方式:

使用重力游戏之类的东西。

1 个答案:

答案 0 :(得分:0)

撤消下载URL相当少见,尽管有可能。更为常见的情况是,新图像在存储中的同一路径上载,该图像获得了新的下载URL。 Firebase Storage API中没有内置的API可以观察到这些更改。

常见方法是将下载URL存储到 可以观察到的另一个位置,并在图像更改时(连同有关图像的其他元数据一起)对其进行更新。通常,您将为此使用Firebase实时数据库或Cloud Firestore。在此将下载URL存储为它所属的节点/文档的属性/字段。然后,通过使用实时观察器,您可以检测到下载URL的更改。