比方说,我们将用户的照片存储在存储中,而在用户的'photoURL'中,我们存储该图像的downloadUrl。
[之后,让我们以某种方式说出该照片的downloadUrl被该应用程序的管理员以某种方式吊销了。
现在,用户的photoURL消失了。
有什么方法可以观察存储项目的dowloadUrl变化?我还没找到如果没有;这里有两个想法;我应该去哪一个?
存储存储位置而不是downloadURL并每次都请求dowloadUrl,我不想这样做,因为它总共需要3个请求,而不是2个。对于类似社交媒体的应用程序,这应该太多了。另外,如果用户通过Facebook,Twitter等进行了身份验证,则他们的照片将由这些提供商提供,并且我需要检查每个URL是否是“存储位置”或直接URL。
使用重力游戏或类似的东西。
尽管有可能,但撤销下载URL相当少见。更为常见的情况是,新图像在存储中的同一路径上载,该图像获得了新的下载URL。 Firebase Storage API中没有内置API可以观察这些更改。
常用的方法是将下载URL存储到is可以观察到的另一个位置,并在图像更改时(连同有关图像的其他元数据一起)对其进行更新。通常,您将为此使用Firebase实时数据库或Cloud Firestore。在此将下载URL存储为它所属的节点/文档的属性/字段。然后,通过使用实时观察器,您可以检测到下载URL的更改。