download url is getting as com.google.android.gms.tasks.zzu@441942b : Firebase Storage [Kotlin] [Solved]

前端 未结 2 510
陌清茗
陌清茗 2020-12-07 06:07

i have checked available resources and yet either i get error or at best i get com.google.android.gms.tasks.zzu@5f9a842 as the uri

Following this latest

相关标签:
2条回答
  • 2020-12-07 06:32

    You're logging the wrong value. Instead of this:

    print("Task: ${downloadUrl}")
    

    Log this:

    print("Task: ${downloadUrl.result.toString()}")
    

    Your downloadUrl variable is not correctly named. It's a Task, not a URL. It might be clearer like this:

    val task = it.result
    val uri = task.result
    val uriAsString = uri.toString()
    
    0 讨论(0)
  • 2020-12-07 06:36

    Solved !!!

            val fileRef = storageProfilePicRef!!.child(firebaseUser.uid + "jpg")
    
            val uploadTask = fileRef.putFile(imageUri!!)
            uploadTask.continueWith {
                if (!it.isSuccessful) {
                    pd.dismiss()
                    it.exception?.let { t ->
                        throw t
                    }
                }
                fileRef.downloadUrl
            }.addOnCompleteListener {
                if (it.isSuccessful) {
                    val downloadUrl = it.result //Here returns a task..
                    myUri = downloadUrl.toString()
    
                    print("Task: ${downloadUrl}")
                    ...
    

    val downloadurl = it.result returns a Task

    correct it by adding an addOnSuccessListener

    so the correct code is

    val uploadTask = fileRef.putFile(imageUri!!)
            uploadTask.continueWith {
                if (!it.isSuccessful) {
                    pd.dismiss()
                    it.exception?.let { t ->
                        throw t
                    }
                }
                fileRef.downloadUrl
            }.addOnCompleteListener {
                if (it.isSuccessful) {
                    it.result!!.addOnSuccessListener{task ->
                                     myUri = task.toString()
                                    print("$myUri")
                                     ...
                                        }
    
    0 讨论(0)
提交回复
热议问题