picasso无法从android的firebase url加载所有图像

问题描述 投票:0回答:1

[我正在尝试通过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加载了所有相应图像?

android firebase picasso android-glide
1个回答
0
投票

为了让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

© www.soinside.com 2019 - 2024. All rights reserved.