小编Isa*_*nse的帖子

如何在将文件上传到Firebase后获取文件URL?

将文件上传到Firebase后,如何获取该URL,以便将其存储以供日后使用?我想将URL写入Firebase数据库,以便其他用户可以访问该图像.

我正在上传文件:

public void uploadFile()
{

    StorageReference filepath = mstorageRef.child("folder").child(filename);

    Uri File= Uri.fromFile(new File(mFileName));

    filepath.putFile(File).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
        @Override
        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot)
        {
            Toast.makeText(MtActivity.this, "Upload Done", Toast.LENGTH_LONG).show();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我已经确认文件实际上是上传的,所以现在我只需要我可以写入数据库的URL.但是,当我尝试这样做时:

Uri downloadUrl = taskSnapshot.getMetadata().getDownloadUrl();
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误并说 This method should only be accessed from tests or within private scope

我不确定这意味着什么,我也不知道为什么我会得到这个错误,因为我正在按照Firebase提供的这个例子.

是否有获取URL的新方法?

此外,该特定于该项目的URL是否是唯一的?这意味着如果我将它存储到数据库并尝试以后访问它,我能够这样做吗?

android firebase firebase-storage

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

firebase ×1

firebase-storage ×1