我正在尝试在 Firebase Storage 中存储的 CircularImageView 中显示图像,但是 glide 给了我这个错误:
W/Glide: Load failed for gs://project-2d8i4.appspot.com/pictures/3HnfQSeBladDsD9sPEcKrhxJ6CB2 with size [1200x1200]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
图片在 Firestore 中保存为:
"gs://project-2d8i4.appspot.com/pictures/3HnfQSeBladDsD9sPEcKrhxJ6CB2"
绑定到图像视图 (uri = "gs://project-2d8i4.appspot.com/pictures/3HnfQSeBladDsD9sPEcKrhxJ6CB2")
:
fun CircularImageView.bindProfilePicture(uri: String?) {
Glide
.with(this)
.load(uri)
.into(this)
}
glide 的依赖:
implementation 'com.github.bumptech.glide:glide:4.12.0'
没有任何帖子中的答案对我有任何帮助。我希望有人可以帮助我。谢谢。
答案 0 :(得分:2)
以下网址:
gs://project-2d8i4.appspot.com/pictures/3HnfQSeBladDsD9sPEcKrhxJ6CB
确实是存储在 Cloud Storage 中的文件。不幸的是,这个 URL 不能被 Glide 识别,因为它不是一个有效的 URL。要解决此问题,您需要获取“下载 URL”而不是以 gs://...
开头的 URL。
要获取实际下载地址,请参阅官方文档:
以及我在以下帖子中的回答:
答案 1 :(得分:1)
为了避免注释中提到的缓存,您可以将这两个与 glide 调用一起使用。
diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
选中 here 以使用 glide 从 firebase url 下载。