2016-09-26 3 views
2

Я использую следующие правила:Firebase хранения 403 Ошибка на удаление

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) 

Попытка удалить его я создание этого Ref:

const prizeImageRef = storageRef.child(`proUsers/${userId}/${prizeData.title}_${prizeData.createdAtTimeStamp}`) 
    return prizeImageRef.delete() 

Я постоянно получаю 403 ошибку:

code : "storage/unauthorized"

Firebase Storage: User does not have permission to access

Не правильные ли правила для удаления?

+0

кто-то уже решил это: http://stackoverflow.com/questions/38922124 – jasan

ответ

1

Да, я думаю, главная проблема здесь в том, что request.resource.contentType.matches('image/.*') будет пустым, потому что вы не получите contentType на DELETE.

+0

yes I Изменено && to || в правилах, и это сработало – jasan

Смежные вопросы