[我正在尝试通过url从Firebase存储中加载图像,但是所有图像均未加载,一些图像正在加载,有些不是我正在使用下面的代码和Picasso库加载图像
Picasso.get().load(post.getPost_user_profile_pic_url())
.resize(200, 200)
.centerCrop()
.into(postUserImage);
当我尝试如下使用Glide库时
Glide.with(itemView.getContext()).load(post.getPost_user_profile_pic_url()).into(postUserImage);
我得到了以下
W
/ Glide:加载失败https://firebasestorage.googleapis.com/............尺寸为[120x120]com.bumptech.glide.load.engine.GlideException类:无法加载资源原因有1:java.io.FileNotFoundException(https://firebasestorage.googleapis.com/v0/b/...................。)致电GlideException#logRootCauses(String)了解更多详细信息原因(1之1):com.bumptech.glide.load.engine.GlideException类:提取数据失败,类java.io.InputStream,REMOTE
如何纠正此问题以确保从URL加载了所有相应图像?
为了让Glide从URL加载图像数据,该URL必须是公开可读的。由于您希望图像数据受Firebase的安全规则保护,因此您所使用的URL绝对不是公开的。
要将Firebase Storage与Glide集成,您需要将Firebase的API methods to load the data之一添加到流,内存或本地文件中。然后,您可以从那里将其传递给Glide。
我强烈建议直接在您的代码中使用FirebaseUI library that integrates with Glide,或作为如何构建这种集成的示例。有关从Firebase加载数据的特定代码,请参见此method in the code。