如何将图像网址从Firebase存储保存到Firebase实时数据库,即我设备中的图像

时间:2017-08-04 16:49:52

标签: java android firebase-realtime-database firebase-storage

我一直在尝试将url保存到firebase实时数据库这里是我的代码

Uri  uri = data.getData();
        StorageReference filePath = 
mStorage.child("Photos").child(currentFirebaseUser.getUid());

        filePath.putFile(uri).addOnSuccessListener(new 
OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                Toast.makeText(ManageActivity.this, "Image upload 
 successful",Toast.LENGTH_LONG).show();
                progressDialog.dismiss();

                profile_image_url = taskSnapshot.getDownloadUrl();
                driver.child("profile image").setValue(profile_image_url);

logcat显示它的堆栈溢出错误,这里是logcat:

FATAL EXCEPTION: main
    Process: com.example.user.drivergeofire, PID: 6758
    java.lang.StackOverflowError
    at java.util.HashMap$ValueIterator.<init>(HashMap.java:836)
    at java.util.HashMap$ValueIterator.<init>(HashMap.java:836)
    at java.util.HashMap.newValueIterator(HashMap.java:908)
    at java.util.HashMap$Values.iterator(HashMap.java:936)
    at com.google.android.gms.internal.zh.zzas(Unknown Source)
    at com.google.android.gms.internal.zg.zzao(Unknown Source)

我对StackOverflow错误的研究表明,这可能是因为有了观点,我没有任何意见。 非常感谢您的协助

1 个答案:

答案 0 :(得分:1)

要从保存的文件中获取tue URL,请使用:

mStorage.child("Photos").child(currentFirebaseUser.getUid()).getDownloadUrl().getResult();