URL загрузки загружается как com.google. android .gms.tasks. zzu@441942b: Firebase Storage [Kotlin] [Решено] - PullRequest
0 голосов
/ 06 апреля 2020

Я проверил доступные ресурсы, и все же либо я получаю сообщение об ошибке, либо, в лучшем случае, получаю com.google.android.gms.tasks.zzu@5f9a842 как uri

После этого последнего Google Do c здесь , я все еще получил com.gms как URL

вот мой код

            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
                    myUri = downloadUrl.toString()

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

Терминал: I/System.out: Task: com.google.android.gms.tasks.zzu@4298dc1(HTTPLog)-Static: isSBSettingEnabled false

PLS, любая помощь приветствуется .. .

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Решено !!!

        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 возвращает Task

исправить его, добавив addOnSuccessListener

, поэтому правильный код

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 голосов
/ 06 апреля 2020

Вы регистрируете неправильное значение. Вместо этого:

print("Task: ${downloadUrl}")

Зарегистрируйте это:

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

Ваша переменная downloadUrl имеет неправильное имя. Это задача, а не URL. Это может быть яснее, как это:

val task = it.result
val uri = task.result
val uriAsString = uri.toString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...