【问题标题】:How do I save an image url from Firebase Storage to Firebase realtime data base, the image from my device如何将图像 url 从 Firebase 存储保存到 Firebase 实时数据库,图像来自我的设备
【发布时间】:2017-08-04 16:49:51
【问题描述】:

我一直在尝试将 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 错误的研究表明,这是由可能的观点引起的,我没有任何观点。 非常感谢您的帮助

【问题讨论】:

  • 你的意思是,不下载图像?为您下载 Firebase 并保存在 Storage?
  • 是的,我只是为了保存图片的链接,以便其他设备以后可以下载

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


【解决方案1】:

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

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

【讨论】:

  • 我添加了一个新的部分,图像来自我的设备,我为什么要重新下载它
  • 我更新了答案,该解决方案适合您的问题吗?
猜你喜欢
  • 2020-12-18
  • 2019-05-07
  • 2020-05-31
  • 2022-06-11
  • 2021-03-14
  • 1970-01-01
  • 2020-02-29
  • 1970-01-01
  • 2017-08-10
相关资源
最近更新 更多