android - 使用链接在 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?
解决方案
Firebase 存储 SDK 不适用于这样的远程文件。您不能将 HTTP URL 传递给它并期望它会下载该远程文件,然后将其上传到存储。您必须先下载远程文件,然后再上传。
如果不清楚,则传递给它的 Uri 必须仅引用本地文件。
推荐阅读
- javascript - 将数据从 NPM 模块传递到应用程序
- python - 在 Python 中重新格式化多线图中的 y 轴值
- python-3.x - 如何使用 Python __init__.py 文件导入内部包?
- microsoft-graph-api - 使用具有不同用户名的 MSTeams Graph 发布消息
- javascript - 如何在 ScrollableTabView React Native 中滚动标签栏
- java - 声明 int input = Integer.parseint(scanner.nextLine()) vs Integer.parseint(scanner.nextLine())?
- python - 在 SQL Server 2017 中使用 sqlalchemcy 中的 string_agg() 函数
- javascript - 在javascript中加入和拆分数组中的元素
- amazon-web-services - 阻止人们从 s3 amazon Bucket 下载文件(图像)
- java - Spring JPA Query:与数字一起使用