Firebase存储用户参考

时间:2017-03-09 00:33:22

标签: javascript firebase firebase-storage

我在项目中使用Firebase,我需要将图像存储在用户的文件夹中。例如,images / userId / images。目前,我的Firebase数据库规则的规则是:

service firebase.storage {
  enter code here`match /b/<your-firbase-storage-bucket>/o {
    // Files look like: "user/<UID>/path/to/file.txt"
    match /user/{userId}/{allPaths=**} {
      allow read, write: if request.auth.uid == userId;
    }
  }
}

但我不知道如何将ref放入我的代码中以指向数据库中的正确文件夹。

我在下面的代码中尝试过,但是没有用。

const storageRef = firebase.storage().ref(Items/${file.name}

如何正确将我的代码引用到Firebase存储空间?

2 个答案:

答案 0 :(得分:0)

要参考您的存储空间使用:

StorageReference storageRef = storage.getReferenceFromUrl("YOUR STORAGE URL AS SHOWN WITH IN THE IMAGE (BLACK BOX)");

enter image description here

然后在上传任务中引用该文件夹:

 UploadTask uploadTask = storageRef.child("images/" + userid + "/" + file.getLastPathSegment()).putFile(file, metadata);

有关更多参考,请参阅: enter link description here

它有所有方法显示使用流或内存或使用文件上传数据的方法(上面的示例是文件上传)。

答案 1 :(得分:0)

假设用户已登录:

var user = firebase.auth().currentUser;
var storageRef = firebase.storage().ref("user");
var userRef = storageRef.child(user.uid);