cer*_*lex 7 firebase firebase-security firebase-storage
这是我的规则,适用于img目录:
match /img {
match /{fileId} {
allow read,
write: if request.resource.contentType.matches('image/jpeg')
|| request.resource.contentType.matches('image/png')
|| request.resource.contentType.matches('image/gif')
&& request.resource.size < 2 * 1024 * 1024
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是这些规则也被应用于delete(),因为它也是一个write方法,所以它总是返回一个权限错误.我在文档中找不到任何关于此的内容.如何推迟POST/PUT规则和DELETE规则?
cer*_*lex 22
我自己找到了解决方案.通过在没有资源发送(删除)时允许应用规则,它也获得写入权限.其余的创建/更新代码将发送到OR表达式.
match /img {
match /{fileId} {
allow read,
write: if request.resource == null ||
(request.resource.contentType.matches('image/jpeg')
|| request.resource.contentType.matches('image/png')
|| request.resource.contentType.matches('image/gif')
&& request.resource.size < 2 * 1024 * 1024)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1342 次 |
| 最近记录: |