不允许删除 Firebase 存储?
Posted
技术标签:
【中文标题】不允许删除 Firebase 存储?【英文标题】:Don't allow deletions on Firebase storage? 【发布时间】:2017-09-28 12:51:45 【问题描述】:如果我不想让用户删除存储在 Firebase 存储中的文件,我需要编写什么规则来完成此操作?
我知道对于 Firebase 数据库,我会这样做:
".write": "newData.val() != null"
但是我该如何做这个来存储呢?
【问题讨论】:
【参考方案1】:很确定这已经被回答了几次(以几种方式),但我见过的最简单的答案是:
allow write: request.resource.someProperty == resource.someProperty || resource == null;
someProperty
可以是哈希(如果您不想允许覆盖)或名称(如果您希望内容被新对象覆盖)。
【讨论】:
【参考方案2】:一种方法是仅在新文件的 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/ 遇到的第一个。
【讨论】:
我认为这首先不允许写入(如果文件不存在)以上是关于不允许删除 Firebase 存储?的主要内容,如果未能解决你的问题,请参考以下文章
Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 在 vue.js 中调用 Fireba
Stripe 和 Firebase:FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 Fireba