StorageReference updateMetadata перезаписывает все свойства - PullRequest
1 голос
/ 06 апреля 2020

У меня проблема с Firebase Storage, функцией updateMetadata (). Я хочу добавить пользовательские метаданные, но updateMetadata перезаписывает все свойства. Я использую Firebase Storage на Flutter. Вот код:

StorageReference storageReference = _firebaseStorage.ref().child('filename'); storageReference.updateMetadata(StorageMetadata(customMetadata: {'receiver': 'ID'}));

Я просто хочу добавить получателя с заданным идентификатором, но все остальные свойства, такие как content-type, перезаписываются. Это общая проблема или есть другой способ решить эту проблему?

С уважением, Том

1 Ответ

1 голос
/ 06 апреля 2020

Документация гласит:

Вы можете обновить метаданные файла в любое время после завершения загрузки файла, используя метод updateMetadata (). Обратитесь к полному списку для получения дополнительной информации о том, какие свойства могут быть обновлены. Обновляются только свойства, указанные в метаданных, все остальные остаются неизменными.

Так что, насколько я могу судить, вы видите не ожидаемое поведение. Я могу воспроизвести его, подав отчет об ошибке в репозитории FlutterFire.

Пока эта ошибка не исправлена, если вы хотите изменить метаданные, вы можете обойти эту ошибку с помощью следующих шагов:

  1. Чтение существующих метаданных
  2. Внесение изменений в прочитанные значения
  3. Запись обновленных полных метаданных обратно
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...