如果我不想让用户删除存储在Firebase存储中的文件,我需要编写什么规则才能完成此操作?
我知道对于Firebase数据库我会做类似的事情:
".write": "newData.val() != null"
但是我怎么做存储呢?
答案 0 :(得分:1)
很确定这已被回答了几次(在几个方面),但我见过的最简单的答案是:
allow write: request.resource.someProperty == resource.someProperty || resource == null;
someProperty
可以是哈希(如果您不想允许覆盖)或名称(如果您希望内容被新对象覆盖)。
答案 1 :(得分:0)
执行此操作的一种方法是,只有在新文件的MD5哈希值与现有文件相同时才允许写入:
// Allow writes if the hash of the uploaded file is the same as the existing file
allow write: if request.resource.md5Hash == resource.md5Hash;
可能有更多/更简单的方法。但这是我在https://firebase.google.com/docs/reference/security/storage/中遇到的第一个。