如何检查Firebase存储中是否存在图像?

时间:2017-03-19 19:19:08

标签: android firebase firebase-storage android-glide firebaseui

总而言之,我想在Firebase中为每个用户存储和检索个人资料图片。我正在尝试使用FirebaseUI和Glide从Firebase检索图像(如here所述)。

它完美适用于我想要实现的目标,但我希望在用户没有上传自己的个人资料图片时(Firebase存储中没有图片时)处理这种情况。遗憾的是,我无法找到如何检查Firebase存储中是否存在此类文件。有没有人知道如何检查是否有文件profile.jpg

(在Firebase存储中)以下代码?

StorageReference storageRef =  storageReference.child("profile.jpg");

ImageView imageView = profilePicture;
// Load the image using Glide
Glide.with(context /* context */)
     .using(new FirebaseImageLoader())
     .load(storageRef)
     .into(imageView);

1 个答案:

答案 0 :(得分:3)

如果在firebase上没有'profile.jpg',则显示默认图片,在较新的v4 Glide中,您可以使用RequestOptions,如下所示:

RequestOptions options = new RequestOptions().error(R.drawable.default_avatar);
Glide.with(context /* context */)
         .using(new FirebaseImageLoader())
         .load(storageRef)
         .apply(options)
         .into(imageView);

Glide v3的原始答案

使用错误方法:

Glide.with(context /* context */)
     .using(new FirebaseImageLoader())
     .load(storageRef)
     .error(R.drawable.default_avatar)
     .into(imageView);