【问题标题】:Linking firebase accounts, JSON and images together将 Firebase 帐户、JSON 和图像链接在一起
【发布时间】:2017-01-26 22:17:11
【问题描述】:

我已经使用以下代码轻松地将我的图片上传到了 firebase 数据库:

uploadImageButton.addEventListener('change', function(e){
  var file = e.target.files[0];
  var storageRef = storage.ref('pictures/' + file.name)
  var task = storageRef.put(file);
})

我想知道如何将其链接到我存储在 JSON 中的特定用户,或链接到我帐户中的用户?

当我注册用户时,我希望能够存储图像和身份验证帐户,并随时检索它们。

到目前为止,我可以检索相关的 JSON,但不能检索身份验证帐户或图像。

【问题讨论】:

    标签: javascript json firebase firebase-authentication firebase-storage


    【解决方案1】:

    为此,您只需使用用户 UID 创建一个文件夹并将文件放入该文件夹中。

    uploadImageButton.addEventListener('change', function(e){
      var file = e.target.files[0];
      var storageRef = storage.ref('pictures/' + UID +'/' + file.name)
      var task = storageRef.put(file);
    })
    

    这里的UID是账号对应的userid。

    使用以下代码获取下载地址:

    task.on('state_changed', function(snapshot){ 
      var url = uploadTask.snapshot.downloadURL;
    
      var updates = {};
      updates['users/'+ UID +'/profile_image'] = url;
      firebase.database().ref().update(updates);
    }
    

    现在您正在 profile_image 属性中设置下载 url。

    【讨论】:

    • 我是这么想的,但是当我检索它时,它肯定会正确检索它吗?
    • 是的。我刚刚编辑了答案..请检查它..将'state_changed'放在'change'监听器中
    • @TheCalculator 你解决了这个问题吗?我的代码对你有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 2018-04-10
    • 2017-12-04
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 2022-11-25
    相关资源
    最近更新 更多