【问题标题】:firebase storage - getting image URL [duplicate]firebase 存储 - 获取图像 URL [重复]
【发布时间】:2016-11-20 07:44:03
【问题描述】:

我已经开始使用 firebase(Firebase for web)作为我的后端。我可以很好地处理 Firebase 实时数据库,但我不清楚 Firebase 存储(用于图像、视频等)的工作原理。

基本上我想在我的网站上有一些新闻列表,每个项目都有一些小图片。所以我将这些图片上传到 Firebase 存储,但我如何才能访问它们的 URL(我的 <img/> src 属性需要它)?

【问题讨论】:

  • 您是否查看过此页面的文档? firebase.google.com/docs/storage/android/…
  • 或者您是在问如何获取 Firebase 存储桶中所有图像的列表?因为目前还没有 API。见stackoverflow.com/questions/37335102/…
  • 我的想法是获取特定文件夹中的图像列表,然后获取每个图像的 URL 并将其用于我的 标签。还有一件事,我正在使用 Firebase 用于 web,而不是用于 android,我想我应该写它,很抱歉。
  • 网络文档:firebase.google.com/docs/storage/web/…。没有 API 可以列出具有 Firebase 存储的文件夹中的图像。您应该将 URL 存储在单独的机制中,例如 Firebase 数据库。

标签: firebase firebase-storage


【解决方案1】:

Firebase 存储在提取数据时以类似的方式工作。虽然有不同的检索方式。最重要的因素之一是如何保存数据。根据它您将能够检索它们。

这里:

storageRef.child("users/me/profile.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
        // Got the download URL for 'users/me/profile.png'
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});

// Alternatively way to get download URL
storageRef.child("users/me/profile.png").getDownloadUrl().getResult(); 

child 的位置非常重要,这应该是您登录的一部分。

例如在新闻结构中,它可以是:

storageRef.child("newsID/articleimage/image.jpg")

newsID - 每篇文章的唯一 ID。 重要提示!当您创建文章以获得单独的图像时。 而且,“image.jpg”可以通过各种方式下载,如下所述:Documentation.

【讨论】:

  • 谢谢,虽然它是为 Android 提供的,但它有所帮助!我现在可以获取特定图像的 URL。但是我可以获取包含多个图像的文件夹的引用,然后循环文件夹并获取每个图像的 URL 吗?这可能吗?
  • 当然,前提是您知道每个文件名。然后你可以简单地创建一个逻辑来一个接一个地下载。
  • 如何获取上传的最后一张图片的url?因此,例如,我上传了一张图片,然后在成功方法中上传图片时,我可以获得此引用并将其存储在另一个表中?
  • @Smac 这个答案怎么不在谷歌文档的第一段中,这超出了我的理解。真可怜。
猜你喜欢
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2021-07-16
  • 2020-07-10
  • 2018-01-05
相关资源
最近更新 更多