Kotlin-获取Firebase图像下载URL返回“;com.google.android.gms.tasks.zzu“;
我正试图通过使用压缩程序库创建两个文件夹,将图像上载到实时Firebase数据库,并且需要像messenger一样显示图像,并使用用户名,但由于url问题,我无法显示图像Kotlin-获取Firebase图像下载URL返回“;com.google.android.gms.tasks.zzu“;,kotlin,firebase-storage,Kotlin,Firebase Storage,我正试图通过使用压缩程序库创建两个文件夹,将图像上载到实时Firebase数据库,并且需要像messenger一样显示图像,并使用用户名,但由于url问题,我无法显示图像 var filePath = mStorageRef!!.child("chat_profile_images") .child(userId + ".jpg") //Create another directory for thumbimage
var filePath = mStorageRef!!.child("chat_profile_images")
.child(userId + ".jpg")
//Create another directory for thumbimages ( smaller, compressed images)
var thumbFilePath = mStorageRef!!.child("chat_profile_images")
.child("thumbs")
.child(userId + ".jpg")
filePath.putFile(resultUri)
.addOnCompleteListener{
task: Task<UploadTask.TaskSnapshot> ->
if (task.isSuccessful) {
//Let's get the pic url
var donwloadUrl = task.result?.storage?.downloadUrl.toString()
Log.d(TAG, "Profilepic link: $donwloadUrl")
//Upload Task
var uploadTask: UploadTask = thumbFilePath
.putBytes(thumbByteArray)
uploadTask.addOnCompleteListener{
task: Task<UploadTask.TaskSnapshot> ->
var thumbUrl = task.getResult()?.storage?.downloadUrl.toString()
Log.d(TAG, "Profilepic link: $thumbUrl")
但这两个值都是“com.google.android.gms.tasks.zzu”
我也试着改变
task.result.sessionurl.downloadUrl.toString
对于这一个,我得到了downloadUrl,但不是我问题的完整解决方案,因为我仍然无法显示图像,我需要得到thumbUrl downloadUrl您与中的误解完全相同,但它是在java中。你应该了解如何获得作品。从链接的API文档中可以看到,它不是一个属性获取程序,实际上是一个返回
任务的方法,该任务跟踪所需URL的异步获取,就像上载任务一样:
filePath.downloadUrl
.addOnSuccessListener { urlTask ->
// download URL is available here
val url = urlTask.result.toString()
}.addOnFailureListener { e ->
// Handle any errors
}
这只有在上传完全完成后才有效。上传后获取下载链接的正确方法
filePath.downloadUrl
.addOnSuccessListener { urlTask ->
// download URL is available here
val url = urlTask.result.toString()
}.addOnFailureListener { e ->
// Handle any errors
}