使用 firebase 存储将 uri 转换为字符串

Convert uri to string with firebase storage

我得到了一个简单的示例 rom firebase 如何 upload 图像存储。上传正常,当 onSucess 我有 uri 可以下载这样的东西时:

https://firebasestorage.googleapis.com/v0/b/sexstartup-e3a65.appspot.com/o/User%3A%20epAPhTPZtUQwNprZpUIKOOc4DJk2%2Fimg.jpg?alt=media&token=49a479c2-fdfa-42ec-9376-278fca3b73e3

当我尝试将此 uri 转换为字符串时 Nullpointerexception,哪里错了?

 Uri downloadUrl = taskSnapshot.getMetadata().getDownloadUrl();
 String string_dwload = downloadUrl.toString();//valueOf not work too 

您需要通过在 taskSnapshot 对象(而不是 getMetadata())上调用方法 getDownloadUrl() 来更改代码 - 因此 onSuccess 回调中的代码应该看起来像像这样:

public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
        //get the download URL like this:
        Uri downloadUrl = taskSnapshot.getDownloadUrl();
        //and you can convert it to string like this:
        String string_dwload = downloadUrl.toString();        
    }

希望对您有所帮助。顺便说一句,请检查 Uploading file on Android

上的 article/tutorial