【问题标题】:StorageReference updateMetadata overwrites all propertiesStorageReference updateMetadata 覆盖所有属性
【发布时间】:2020-07-17 22:34:23
【问题描述】:

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

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

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

问候,汤姆

【问题讨论】:

    标签: firebase flutter firebase-storage


    【解决方案1】:

    documentation 说:

    您可以在文件上传完成后随时使用 updateMetadata() 方法更新文件元数据。有关可以更新哪些属性的更多信息,请参阅完整列表。 仅更新元数据中指定的属性,其他所有属性保持不变。

    因此,据我所知,您所看到的并不是预期的行为。我可以复制它,在 FlutterFire 存储库上提交了 bug report

    在修复该错误之前,如果您想修改元数据,您可以通过以下步骤解决该错误:

    1. 读取现有元数据
    2. 更改您读取的值
    3. 写回更新后的完整元数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-29
      • 2016-08-06
      • 1970-01-01
      • 2013-07-19
      • 2019-04-11
      • 2020-03-28
      • 1970-01-01
      相关资源
      最近更新 更多