我应如何保存对Firebase存储对象的引用?

问题描述 投票:0回答:1
  1. 按名称存储引用(users / 1 / profile.png)。然后需要一直生成URL。
const url = await firebase
  .storage()
  .ref('users/1/profile.png')
  .getDownloadURL()
  1. 通过URL存储引用。访问令牌可能会被吊销,这将导致尝试生成新令牌并在数据库中对其进行更新时出现问题。
const url = await firebase
  .storage()
  .refFromURL(invalidURL)
  .getDownloadURL()
  1. 与#1有关。仅按文件名存储,因此可以在不更新数据库引用的情况下移动文件。
const url = await firebase
  .storage()
  .ref(`users/${user.id}/${user.image}`)
  .getDownloadURL()
firebase firebase-storage
1个回答
0
投票

下载URL和参考路径是两个不同的东西,我将它们分别存储为适当的东西(有时两者都存储。)>

如果要直接从存储中提供文件(例如<img>标签),请存储下载URL

。>>

当需要保留对该文件的引用以供以后修改时,请存储引用路径

调用getDownloadURL()确实触发了网络请求,因此建议尽可能地缓存结果,以避免不必要的额外工作/等待时间。

© www.soinside.com 2019 - 2024. All rights reserved.