Firebase存储 - 获取图像URL

28

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

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


你有查看文档的这个页面吗?https://firebase.google.com/docs/storage/android/download-files#download_data_via_url - Frank van Puffelen
你是在询问如何获取 Firebase 存储桶中所有图像的列表吗?因为目前还没有相应的 API。请参考 https://dev59.com/11oU5IYBdhLWcg3wjHdL。 - Frank van Puffelen
我的想法是获取特定文件夹中的图像列表,然后获取每个图像的URL并将其用于我的<img/>标签。还有一件事,我正在为Web使用Firebase,而不是Android,我想我应该写下来,对此感到抱歉。 - exoslav
Web文档:https://firebase.google.com/docs/storage/web/download-files#download_data_via_url。 Firebase Storage没有列出文件夹中图像的API。您应该将URL存储在其他机制中,例如Firebase数据库。 - Frank van Puffelen
1个回答

14

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(); 

孩子的位置非常重要,应该成为您登录的一部分。

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

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

newsID - 每篇文章的唯一ID。重要!在创建文章时,为了获取单独的图像,请遵循此步骤。 "image.jpg" 可以按照此处所述的方式通过文档下载。


谢谢,虽然这是针对Android的,但它确实有所帮助!我现在能够获取特定图像的URL。但是,我能否获取包含多个图像的文件夹的引用,然后循环该文件夹并获取每个图像的URL?这可能吗? - exoslav
当然,只要你知道每个文件的名称,那么你可以简单地创建一个逻辑来一个接一个地下载它们。 - Tanishq Sharma
我如何获取最后上传的图片的URL?例如,我上传一张图片,然后在成功方法中,我可以获取此引用并将其存储在另一个表中。 - Smac
1
@Smac,这个答案为什么不在谷歌文档的第一段中呢?真是可悲。 - A.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接