Kotlin-获取Firebase图片DownloadUrl返回“ com.google.android.gms.tasks.zzu”

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

我正在尝试通过使用Compressor库创建两个文件夹来将图像上传到实时Firebase数据库,并且需要使用用户名显示像Messenger那样的图像,但是由于网址问题,我无法显示图像

            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")

我试图更改downloadUrl

filepath.downloadUrl.toString
thumbFilePath.downloadUrl.toString

但是这两个值都获得“ com.google.android.gms.tasks.zzu”

我也试图改变

task.result.sessionurl.downloadUrl.toString

为此,我正在获取downloadUrl,但不能完全解决我的问题,因为仍然无法显示图像,我需要获取thumbUrl downloadUrl

kotlin firebase-storage
1个回答
0
投票

除了在Java中,您与this question有着完全相同且非常普遍的误解。您应该follow the documentation here才能理解getDownloadUrl的工作原理。从链接的API文档中可以看到,它不是属性获取器,它实际上是一个返回Task<Uri>的方法,该方法跟踪所需URL的异步获取,就像上载任务一样:

filePath.downloadUrl
.addOnSuccessListener { urlTask ->
    // download URL is available here
    val url = urlTask.result.toString()
}.addOnFailureListener { e ->
    // Handle any errors
}

仅在完全完成上载后才能使用。

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