我尝试按照Firebase安全规则中列出的云存储参考示例:
https://firebase.google.com/docs/reference/security/storage/
我复制&将split()
的示例粘贴到我的存储规则中,它不会编译/让我保存:
根据提供的正则表达式拆分字符串并返回字符串列表。使用Google RE2语法。
// Allow files named "file.*" to be uploaded
match /{fileName} {
allow write: if fileName.split('.*\..*')[0] == 'file'
}
我得到的错误:
Unexpected '.'.
对于我的生活,我无法获得提供的示例代码来运行,也无法进行更改并使Regex按预期工作。
任何人对Allow files named "file.*" to be uploaded
都有任何建议?
答案 0 :(得分:3)
规则中似乎缺少\
。试试这个:
// Allow files named "file.*" to be uploaded
match /{fileName} {
allow write: if fileName.split('.*\\..*')[0] == 'file'
}
通常,在使用正则表达式时,首先要检查反斜杠。不同的系统使用反斜杠进行转义,有时(例如这里)你需要双重逃避它们。
答案 1 :(得分:0)
文档错误。改用它('\。'):
// Allow files named "file.*" to be uploaded
match /{fileName} {
allow write: if fileName.split('\\.')[0] == 'file'
}