【问题标题】:Retrieve image stored in Firebase storage检索存储在 Firebase 存储中的图像
【发布时间】:2021-03-26 20:35:10
【问题描述】:

我正在使用 Dart / Flutter。我想知道检索存储到 Firebase 存储中的图像时的最佳做法是什么。我可以看到两种可能的方法,但我不确定哪一种更好。

第一种方法:

将图像上传到 Firebase 存储后,我将图像的 url 保存到 Firestore,并在需要时使用此 url 检索图像。我可以看到这种方法存在一个问题。每个图像 url 都有与之关联的访问令牌,可以撤销。如果它被撤销,存储在 Firebase 中的 url 将不再有效。另外,我不清楚访问令牌可以存在多长时间。有人知道吗?

第二种方法:

不要将图片的 url 保存在 Firestore 中,而是在每次需要查看图片时获取它。这种方法的问题是您必须发送两个请求才能看到一个图像。第一个请求获取 url,第二个请求查看图像。如果我有一页需要显示 9 张图像的网格怎么办?那是 18 个请求,仅用于查看图像。

我可以看到第三种方法是将图像下载到本地磁盘,但我找不到一个好的库来帮助解决这个问题,因为你不希望你的本地缓存保持无限增长。

有人能善待我,让我朝着正确的方向前进吗? 提前致谢。

【问题讨论】:

    标签: firebase flutter dart firebase-storage


    【解决方案1】:

    Firebase 存储下载网址的访问令牌不会过期。如果令牌变得无效,那是因为您(从 Firebase 控制台)撤销了它 - 在这种情况下,我假设您实际上希望用户无法访问该图像。

    保存下载 URL 是解决这种用户需要公共访问权限的用例的惯用方法。


    在您的第二种方法中,您可以考虑使用download the data through the SDK,而不是通过下载 URL。这将导致每张图片只有一个请求。


    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-23
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 2020-10-23
      • 2017-08-30
      • 2016-06-17
      相关资源
      最近更新 更多