在Android Firebase存储中上传文件后如何获取文件下载Url? getDownloadUrl()不起作用

在我的新android firebase项目中,我使用了com.google.firebase:firebase-storage:16.0.1库。

我收到以下错误:

在此处输入图像描述

我打开了另一个具有库taskSnapshot.getDownloadUrl(); firebase-storage:15.0.2taskSnapshot.getDownloadUrl(); 从事该项目的工作。 但在使用最新的依赖库后,它无法正常工作。

现在,我如何获取文件URL?

有什么方法可以获得文件下载链接?

提前致谢!

该方法已在版本16.0.1上弃用(请查看Firebase发行说明 ),因此您必须使用

StorageReference.getDownloadUr()

如果您想在上传文件后获取它们,那么您必须在此处查看其文档。 它已经更新。

我发现2解决了我的问题。

Firebase Google文档 :

 //add file on Firebase and got Download Link filePath.putFile(imageUri).continueWithTask(new Continuation>() { @Override public Task then(@NonNull Task task) throws Exception { if (!task.isSuccessful()){ throw task.getException(); } return filePath.getDownloadUrl(); } }).addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if (task.isSuccessful()){ Uri downUri = task.getResult(); Log.d(TAG, "onComplete: Url: "+ downUri.toString()); } } }); 

另一种方案!

它比谷歌Firebase文档更容易和更小,我将使用它:

 filePath.putFile(imageUri).addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(Uri uri) { Log.d(TAG, "onSuccess: uri= "+ uri.toString()); } }); } });