Firebase Storage getDownloadURL() 是否可重复使用,还是应该始终重新生成?

Is the Firebase Storage getDownloadURL() re-usable, or should it always be regenerated?

保存在数据库中并重用 angularfire2 的 getDownloadURL() 返回的 url 而不是每次我需要显示来自 Firebase 存储的图像时都执行 getDownloadURL() 是一个好习惯吗?

如果我在我的组件中使用 getDownloadURL(),我每次访问该组件时都会重新加载图像。我想避免这种情况。如果我在上传图像后将 url 保存在我的数据库中,然后每次我需要显示图像时使用此 url 就可以解决问题。但是,这可能不是正确的方法,Firebase 存储可能会在某个时候更新 urls。

是的,您应该将从文件的 StorageReference 生成的 downloadURL 存储在您的数据库结构中,这样您就可以避免创建新文件或同一个文件来获取另一个文件downloadURL,在这种情况下,您还可以使用 DatabaseReference 从代码中的任何位置访问此图像 url 并将其显示在任何您想要的位置。

PS:重新生成下载 url 意味着重新上传相同的图像并重新生成一个新的 downloadURL,在这种情况下,您正在浪费网络资源,因为您正在重新调用 firebase 存储存储相同的文件,顺便说一句,该文件将被替换,但你会浪费资源。只需上传一次,获取下载 URL,将其存储在您的数据库中,然后在您需要的任何地方检索它。