首页 > 解决方案 > 使用链接在 Firebase 存储中上传图片

问题描述

我想在 Firebase 存储中上传图片。我知道如何使用 Uri 在 Firebase 中上传图片。但是有没有一种方法可以使用链接将图像上传到 Firebase?

我在我的项目中使用了一个 API,我每个月只能达到 1000 个,所以我试图在从 API 获取图像后立即将图像保存在 firebase 中。API 提供了一个指向图像的链接,我使用该链接在 Picasso 的 imageview 中显示图像。

假设我的链接是http://xxx.xx.xxx.......png?我已使用 Uri.parse(link) 将其转换为 Uri。当我尝试这样做时,Firebase 给了我一个例外。

例外

StorageException: No content provider: http://xx.xx.com/xx/xx/xxx/xx/xx.png?
                                                                         java.io.FileNotFoundException: No content provider: http://xx.xx.com/xx/xx/xx/xx/xx.png?

标签: androidfirebasefirebase-storage

解决方案


Firebase 存储 SDK 不适用于这样的远程文件。您不能将 HTTP URL 传递给它并期望它会下载该远程文件,然后将其上传到存储。您必须先下载远程文件,然后再上传。

如果不清楚,则传递给它的 Uri 必须仅引用本地文件。


推荐阅读