【发布时间】:2020-04-17 20:48:37
【问题描述】:
- 按名称存储引用 (users/1/profile.png)。那么就需要一直生成URL。
const url = await firebase
.storage()
.ref('users/1/profile.png')
.getDownloadURL()
- 按 URL 存储引用。访问令牌可能会被撤销,这会导致尝试生成新令牌并在数据库中更新它时出现问题。
const url = await firebase
.storage()
.refFromURL(invalidURL)
.getDownloadURL()
- 与#1 相关。仅按文件名存储,因此无需更新数据库引用即可移动文件。
const url = await firebase
.storage()
.ref(`users/${user.id}/${user.image}`)
.getDownloadURL()
【问题讨论】:
-
做最适合您需要的那个。正如您所发现的那样,两者都有优点和缺点。
-
我很困惑需要打电话给
getDownloadURL()。我不确定频繁调用该方法是否存在性能或成本问题。 -
您可以自己进行基准测试。