我已经检查了可用资源,但要么出现错误,要么最多得到com.google.android.gms.tasks.zzu@5f9a842
作为uri
在这个最新的谷歌文档之后,我仍然得到了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
您记录的值错误。取而代之的是:
print("Task: ${downloadUrl}")
记录此:
print("Task: ${downloadUrl.result.toString()}")
downloadUrl
变量的名称不正确。这是一个任务,而不是URL。它可能更清楚如下:
val task = it.result
val uri = task.result
val uriAsString = uri.toString()
已解决
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")
...
}
我解决了这个问题你应该addOnSuccessListener返回uri->单位未任务
}.addOnCompleteListener {
if (it.isSuccessful) {
it.result!!.addOnSuccessListener{uri->unit ->
myUri = task.toString()
print("$myUri")
...
}