我正在使用以下规则:
service firebase.storage {
match /b/xxxxxxx.appspot.com/o {
match /proUsers/{userId}/{allPaths=**} {
allow read, write: if request.auth.uid == userId && request.resource.size < 2 * 1024 * 1024 && request.resource.contentType.matches('image/.*');
}
}
}
这就是我创建保存参考的方法:
storageRef.child(`proUsers/${userId}/${prizeData.title}_${prizeData.createdAtTimeStamp}`).put(file, metadata)
试图删除它我正在创建这个参考:
const prizeImageRef = storageRef.child(`proUsers/${userId}/${prizeData.title}_${prizeData.createdAtTimeStamp}`)
return prizeImageRef.delete()
我一直收到403错误:
代码:“存储/未授权”
Firebase存储:用户无权访问
我的删除规则不正确吗?
答案 0 :(得分:1)
是的,我认为这里的主要问题是request.resource.contentType.matches('image/.*')
将为null,因为您不会在DELETE
上获取contentType。