【问题标题】:How to get download url from uploaded files using Firebase如何使用 Firebase 从上传的文件中获取下载 url
【发布时间】:2020-06-26 13:47:16
【问题描述】:

阅读文档后,我找到了一个关于如何上传文件并获取其下载链接的部分。 获取下载链接的代码是:

科特林

val ref = storageRef.child("images/mountains.jpg")
uploadTask = ref.putFile(file)

val urlTask = uploadTask.continueWithTask { task ->
    if (!task.isSuccessful) {
        task.exception?.let {
            throw it
        }
    }
    ref.downloadUrl
}.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        val downloadUri = task.result
    } else {
        // Handle failures
        // ...
    }
}

Java

final StorageReference ref = storageRef.child("images/mountains.jpg");
uploadTask = ref.putFile(file);

Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
    @Override
    public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
        if (!task.isSuccessful()) {
            throw task.getException();
        }

        // Continue with the task to get the download URL
        return ref.getDownloadUrl();
    }
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
    @Override
    public void onComplete(@NonNull Task<Uri> task) {
        if (task.isSuccessful()) {
            Uri downloadUri = task.getResult();
        } else {
            // Handle failures
            // ...
        }
    }
});

但是我得到下载 URL 的那一行是什么? 是“返回 ref.getDownloadUrl();”/“ref.downloadUrl”吗? 还是“Uri downloadUri = task.getResult();”/“val downloadUri = task.result”?

【问题讨论】:

    标签: java android firebase kotlin firebase-storage


    【解决方案1】:

    在这两种情况下,名为 downloadUri 的变量是最终下载 URL。如果需要,您可以使用 downloadUri.toString() 将其转换为普通的旧字符串。

    它不是ref.getDownloadUrl() 的返回值。这是一个很常见的错误。 getDownloadUrl() 是异步的,不会立即返回 URL。这就是你需要回调的原因。

    另请参阅:How to get URL from Firebase Storage getDownloadURL

    【讨论】:

      猜你喜欢
      • 2017-07-08
      • 2020-12-05
      • 2020-01-29
      • 2019-06-20
      • 2021-07-17
      • 2018-12-28
      • 1970-01-01
      • 2018-04-14
      相关资源
      最近更新 更多