不允许删除 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 存储?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase - 显示到 ListView

Firebase 存储:是不是可以自动删除旧文件?

Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 在 vue.js 中调用 Fireba

Stripe 和 Firebase:FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 Fireba

Firebase 存储 – 无法根据大小要求删除

将图片从 URL 上传到 Firebase 存储