`
你好,我尝试使用downloadUrl从Firebase存储加载一些图像,但它总是崩溃,我不知道为什么我已经在存储中设置了规则,但它仍然不工作
我添加了这些依赖项
实现平台(“com.google.firebase:firebase-bom:31. 0. 2”)
我的代码是:
`var storageRef = Firebase.storage.reference.child("post/$uId/$fileName.png") //I want to load image from a certain user
var imageUri:String?=null
storageRef.downloadUrl.addOnSuccessListener { Uri->
imageUri=Uri.toString()
}
-.addOnFailureListener {
Toast.makeText(this@UploadActivity, it.message, Toast.LENGTH_SHORT).show()
}`
基本上,在调试时,它不会输入addOnSuccessListener或addOnfailureLister,并且imageUri保持为空,即使我可以看到downloadUrl已将gs://...转换为https://firebase...
我还在我的firebase存储中添加了这些规则
`rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}
`
1条答案
按热度按时间moiiocjp1#
原因是从Firebase存储获取图像可能需要时间,在从Firebase存储获取图像之前,您尝试在ImageView中加载图像,但应用程序崩溃,因为URI仍然为空。
For detailed knowledge of Glide Library here is the link