【问题标题】:How to return a URL of uploaded image [duplicate]如何返回上传图片的 URL [重复]
【发布时间】:2019-07-13 07:17:46
【问题描述】:

尝试使用 docs 获取上传到 Firebase 存储中的图像的 URL,但没有关于如何从 Task.continueWithTask 方法返回 downloadUri 值的信息。

即使method documentation 也无助于理解。

引用自文档,没有说明如何获取此 URL:

上传文件后,可以通过调用StorageReference的getDownloadUrl()方法获取下载文件的URL:

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
                    // ...
                }
            }
        });

【问题讨论】:

  • 看来你写了获取下载地址的代码,所以我不太明白问题出在哪里。
  • 我重写了my question,问题是continueWithTask没有启动。你能帮忙吗?

标签: android firebase firebase-storage


【解决方案1】:

我有一段时间没有使用 Firebase,但我以前的做法是在调用 ref.getDownloadUrl() 后分配 SuccessListenerOnCompleteListener

例子

ref.getDownloadUrl().addOnSuccessListener(url -> {
    ...
});

【讨论】:

    【解决方案2】:

    要检索图像的 URL 或存储在 firestore 中的数据,您应该使用 OnSuccessListener

    喜欢

         firepath.putFile(resultUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {     
    @Override
    
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
    
        firepath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    
    @Override
    public void onSuccess(Uri uri) {
    final String url = uri.toString();
     }});});
    

    这里的字符串URL会有图片或视频的链接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-08
      • 2015-11-17
      • 2013-11-16
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多