我在项目中使用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存储空间?
答案 0 :(得分:0)
要参考您的存储空间使用:
StorageReference storageRef = storage.getReferenceFromUrl("YOUR STORAGE URL AS SHOWN WITH IN THE IMAGE (BLACK BOX)");
然后在上传任务中引用该文件夹:
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);