2016-06-24 2 views
2

Я пытаюсь настроить правила безопасности Firebase, чтобы разрешить загрузку файла, только если файл с тем же именем еще не существует. В идеале я хотел бы поддерживать переопределение файла, когда содержимое нового файла совпадает с содержимым файла.Разрешает запись только в том случае, если ресурсы в Firebase Storage отсутствуют.

Я попытался следующие:

allow write: if !resource; 

и

allow write: if !resource.size; 

и

allow write: if request.resource.md5hash == resource.md5hash; 

Но ни, кажется, сделать трюк. Все, что они делают, это просто запретить любые закачки.

ответ

3

Я думаю, что вы хотите их сочетание:

service firebase.storage { 
    match /b/<your-bucket>/o { 
    match /path/to/file { 
     // !resource allows the upload of a new file 
     // hash comparison allows re-upload of the same file 
     allow write: if !resource || request.resource.md5hash == resource.md5hash; 
    } 
    } 
} 
+0

Спасибо, Майк! Я попробовал ваше предложение, но я все равно получаю HTTP 403 для каждого файла, который я пытаюсь загрузить, когда я применяю эти правила. Это позволяет мне загружать, когда я использую 'allow write;'. Я также иногда получаю HTTP 500 с этим сообщением: «Не удалось получить правила безопасности». – urish

+0

! Ресурс тоже дает мне проблему. – dshukertjr

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