【问题标题】:Android Firebase StorageException Could not get objectAndroid Firebase StorageException 无法获取对象
【发布时间】:2018-05-11 16:47:34
【问题描述】:

我正在尝试将图像从 firebase 检索到我的 android 应用,但出现以下错误

E/StorageException: { "error": { "code": 404, "message": "Not Found. could not get object" }} java.io.IOException: { "error": { "code": 404, "message": "Not Found. could not get object" }}

以下是用于检索文件的代码:

                storageRef.child("motels/" + mFirebaseRecyclerAdapter.getRef(position).getKey() + "/img_0.jpeg").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                @Override
                public void onSuccess(Uri uri) {

                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    e.printStackTrace();
                }
            });

以下是我的 Firebase 参考的架构:

mFirebaseRecyclerAdapter.getRef(position) 返回正确的密钥,我已通过在控制台中记录它来检查这一点。我还尝试将图像扩展名更改为 .jpeg 和 .jpg

【问题讨论】:

  • 位置不对,你是在那儿创建了 motels 文件夹吗?
  • 是的,正如您在上面的截图中看到的那样,motels 文件夹就在那里
  • storageRef 等于什么?
  • 存储 = FirebaseStorage.getInstance(); storageRef = storage.getReference();

标签: android firebase firebase-storage


【解决方案1】:

位置错误时出现此错误,请更改:

 storageRef.child("motels/" + mFirebaseRecyclerAdapter.getRef(position).getKey() + "/img_0.jpeg").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {

到这里:

 storageRef.child("motels/img_0.jpeg").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {

查看更多信息:https://firebase.google.com/docs/storage/android/create-reference

【讨论】:

  • 这不正确,图像不在那个位置,位置看起来像这样:gs:///motels/-KzKr8vtvW-QBuRyAasA/img_0.jpeg -KzKr8vtvW-QBuRyAasA - > 这是关键
  • 正如答案中所说,如果您引用了错误的位置,则会出现该异常。所以请仔细检查丢失的位置,否则您不会收到该错误
猜你喜欢
  • 2021-10-14
  • 2021-12-29
  • 2017-06-17
  • 1970-01-01
  • 2015-03-24
  • 2018-04-30
  • 2018-06-02
  • 1970-01-01
  • 2021-06-16
相关资源
最近更新 更多