StorageReference updateMetadata覆盖所有属性

问题描述 投票:0回答:1

我在Firebase Storage的updateMetadata()函数中遇到问题。我想添加自定义元数据,但updateMetadata会覆盖所有属性。我在Flutter上使用Firebase存储。这是代码:

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

我只想添加具有给定ID的接收器,但是其他所有属性(如content-type)都将被覆盖。这是一个常见问题,还是有解决此问题的其他方法?

问候,汤姆

firebase flutter firebase-storage
1个回答
0
投票

您看到的是预期的行为。调用updateMetadata时,所有现有的元数据都将替换为您指定的值。

如果要修改元数据,则必须:

  1. 读取现有的元数据
  2. 对所读取的值进行更改
  3. 写入更新,返回完整的元数据
© www.soinside.com 2019 - 2024. All rights reserved.