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,将其存储在您的数据库中,然后在您需要的任何地方检索它。
保存在数据库中并重用 angularfire2 的 getDownloadURL()
返回的 url 而不是每次我需要显示来自 Firebase 存储的图像时都执行 getDownloadURL()
是一个好习惯吗?
如果我在我的组件中使用 getDownloadURL()
,我每次访问该组件时都会重新加载图像。我想避免这种情况。如果我在上传图像后将 url 保存在我的数据库中,然后每次我需要显示图像时使用此 url 就可以解决问题。但是,这可能不是正确的方法,Firebase 存储可能会在某个时候更新 urls。
是的,您应该将从文件的 StorageReference
生成的 downloadURL
存储在您的数据库结构中,这样您就可以避免创建新文件或同一个文件来获取另一个文件downloadURL
,在这种情况下,您还可以使用 DatabaseReference
从代码中的任何位置访问此图像 url 并将其显示在任何您想要的位置。
PS:重新生成下载 url 意味着重新上传相同的图像并重新生成一个新的 downloadURL,在这种情况下,您正在浪费网络资源,因为您正在重新调用 firebase 存储存储相同的文件,顺便说一句,该文件将被替换,但你会浪费资源。只需上传一次,获取下载 URL,将其存储在您的数据库中,然后在您需要的任何地方检索它。