【问题标题】:Object Not Fount Exception when I am trying to set FirebaseStorage Image file in ImageView in Android当我尝试在 Android 的 ImageView 中设置 FirebaseStorage 图像文件时,对象未出现异常
【发布时间】:2016-12-15 21:06:20
【问题描述】:

我正在开发一个应用程序,我想通过使用 url 将其设置为 Imageview 来显示从 Firebase 存储上传的图像。我正在使用以下代码来完成这项工作。

     StorageReference storageReference = FirebaseStorage.getInstance().getReference("ImageFolder/"+imageId);
     storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                        @Override
                        public void onSuccess(Uri uri) {  
                          Picasso.with(getContext()).load(uri).into(viewHolder.imageThumbnail);                          
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            // Handle any errors
                        }
                    });

这会引发如下异常

发生了StorageException。 对象在该位置不存在。 代码:-13010 HttpResult:404 08-09 22:50:05.280 10915-11000/com.app.myapp E/StorageException: { "error": { "code": 404, "message": "Not Found. could not get object" }} java.io.IOException:{“错误”:{“代码”:404,“消息”:“未找到。无法获取对象”}} 在 bxr.a(:com.google.android.gms.DynamiteModulesC:424) 在 bxr.a(:com.google.android.gms.DynamiteModulesC:1404) 在 bxl.onTransact(:com.google.android.gms.DynamiteModulesC:53) 在 android.os.Binder.transact(Binder.java:387) 在 com.google.android.gms.internal.zzamj$zza$zza.zzss(未知来源) 在 com.google.android.gms.internal.zzamm.zza(未知来源) 在 com.google.android.gms.internal.zzamd.zza(未知来源)

请帮助解决问题。

【问题讨论】:

  • 您找到问题了吗?

标签: android imageview picasso firebase-storage


【解决方案1】:

当指定位置的 Firebase 存储中没有项目时,会发生这种情况。

这是异常在 Android 中的样子:

04-13 07:07:48.851 20923-22411/org.emeritus.globalivy 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"  }}
                                                                              at bti.a(:com.google.android.gms.DynamiteModulesC:428)
                                                                              at bti.a(:com.google.android.gms.DynamiteModulesC:1408)
                                                                              at btc.onTransact(:com.google.android.gms.DynamiteModulesC:53)
                                                                              at android.os.Binder.transact(Binder.java:380)
                                                                              at com.google.android.gms.internal.zzbub$zza$zza.zzjM(Unknown Source)
                                                                              at com.google.android.gms.internal.zzbue.zzd(Unknown Source)
                                                                              at com.google.android.gms.internal.zzbtv.zza(Unknown Source)
                                                                              at com.google.android.gms.internal.zzbtv.zze(Unknown Source)
                                                                              at com.google.firebase.storage.zzb.run(Unknown Source)
                                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)

如果 Firebase SDK 没有将整个堆栈跟踪输出到日志中,而只有这个,那就太好了

StorageException has occurred.
                                                                          Object does not exist at location.

【讨论】:

    【解决方案2】:

    我有同样的问题,在我的应用程序中,我将 URL 保存在数据库中,将图像保存在存储中。

    只需清理整个 STORAGE 和 DATABASE 东西,它在我的情况下运行良好。

    我找到了它发生的原因..

    它返回包含字符串的非空 firebase.Promise 使用下载 URL 解析的 Promise 或 如果获取失败则拒绝,包括如果 对象成功不存在

    Check here for this method getDownloadURL()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2020-12-17
      • 2011-02-11
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多