【问题标题】:How to Link the Image URL in fire base storage to database under specific user in Android如何将 Firebase 存储中的图像 URL 链接到 Android 中特定用户下的数据库
【发布时间】:2017-09-07 08:39:10
【问题描述】:

我是火力基地的新手。我正在处理一个应用程序。我已将个人资料图片和用户数据上传到 fire base。但现在我很困惑如何将个人资料图片与特定用户相关联。例如 Name= Hussain , Contact=########### 并且存储中的个人资料图像是 112313.jpg。另一个用户是 name=Ali,contact=######## 和 profile image=1323.jpg。 所以,问题是我如何才能在 hussain 细节下获得 hussain 的形象,以及 liaqat 在 liaqat 细节下的形象。 提前致谢

【问题讨论】:

  • 根据您的应用程序,您可能应该创建一个名为“用户”的单独节点,并在其中保存他们的所有个人资料信息,包括他们的个人资料图片,这些信息将指向存储 uri。然后您可以使用下面提供的示例@Nagaraj N 来保存/更新他们个人资料中的网址。

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


【解决方案1】:

一旦您将个人资料图片上传到firebase cloud storage,您就可以获得该图片的网址。然后,您可以在实时数据库中将您的个人资料图片 URL 更新为该特定用户的详细信息。请看下面的代码,

    // File or Blob
    file = Uri.fromFile(new File("path/to/mountains.jpg"));

    // Create the file metadata
    metadata = new StorageMetadata.Builder()
            .setContentType("image/jpeg")
            .build();

    // Upload file and metadata to the path 'images/mountains.jpg'
    uploadTask = storageRef.child("images/"+file.getLastPathSegment()).putFile(file, metadata);

    // Listen for state changes, errors, and completion of the upload.
    uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
        @Override
        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
            // Handle successful uploads on complete
            Uri downloadUrl=taskSnapshot.getMetadata().getDownloadUrl();

FirebaseDatabase.getInstance().getReference('users').child('hussain_UID')
    .child('photoURL')
    .set(downloadUrl.toString());

        }
    });

希望这对您的查询有所帮助。

【讨论】:

  • 很好解释,但我需要更多解释,因为我是新手。
  • 您能否再解释一下最后一次 FirebaseDatabase 调用在做什么?
猜你喜欢
  • 2018-02-04
  • 2020-12-18
  • 2019-01-06
  • 2021-10-28
  • 2021-07-12
  • 2020-02-29
  • 2020-08-09
  • 1970-01-01
  • 2017-12-03
相关资源
最近更新 更多