如何知道文件名是否包含其他字符串在Firebase云存储中?

时间:2019-01-23 07:26:21

标签: firebase-storage firebase-security-rules

我要检查上传的图像名称是否包含"thumb_"。如果文件名包含"thumb_",则用户不允许上传图像。 像这样的东西:

 match/users/{id}/{image}{
      if:  request.resource.contentType.matches('image/.*') &&
                                 request.resource.size < 1024 *1024 * 2  &&
                                 image.size()<32 &&
                                 !image.includes('thumb_')}

但给出错误

Error running simulation — Error: simulator.rules line [13], column [27]. Function not found error: Name: [includes].

我们不能在安全规则中使用includes()函数。那么我应该用什么代替includes()

1 个答案:

答案 0 :(得分:0)

根据API documentation for security rules for Cloud Storage,在字符串数据上没有称为“ includes”的方法。您可以看到有一种称为“ matches”的方法,该方法使您可以对字符串执行正则表达式匹配。要查看image中的字符串是否包含字符串“ thumb _”:

image.matches('thumb_')