gpt4 book ai didi

上传图片时Android FireBase错误

转载 作者:搜寻专家 更新时间:2023-11-01 09:45:13 26 4
gpt4 key购买 nike

我正在尝试通过本地文件方法上传图片。

UploadTask uploadTask = currentPicRef.putFile(file, metadata);

当用户从图库中选择图片或通过相机拍照时,图片将保存在外部存储中,我将 uri 保存在共享首选项中。

我使用 setImageURI(uri) 方法成功地将图像加载到 ImageView 中,但是当我调用 firebase 方法并使用相同的 uri (Uri file = Uri.fromFile(new文件(文件名));)
我得到错误

could not locate file for uploading:file:///content%3A/media/external/images/media/22943

但是当我使用日志检查我得到的本地文件时

uri is content://media/external/images/media/22943

还值得一提的是,当我在 firebase 中使用 uri.parse() 而不是 uri.fromFile() 从本地文件上传时,它上传了元数据但没有照片本身。

有什么解决办法吗?

最佳答案

也许现在有点晚了,无论如何:

could not locate file for uploading:file:///content%3A/media/external/images/media/22943

我认为您可能遇到了 url 编码问题(请参阅文件 uri 中的 %3A)。

尝试解码 uri Uri file = Uri.fromFile(new File(fileName));,然后再将其传递给 Firebase 存储引用。

如果它不起作用,而不是通过这种方式检索图像 uri Uri.fromFile(new File(fileName)) ,您可以尝试将本地镜像路径保存在共享首选项中(我我假设当您从画廊或相机获取图像时,您也可以拥有本地路径),并使用它来上传存储 Firebase 中的图像。

希望能有所帮助。

关于上传图片时Android FireBase错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38381438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com