【问题标题】:Upload multiple files to firebase firestore in Android将多个文件上传到 Android 中的 Firebase Firestore
【发布时间】:2020-10-28 23:30:56
【问题描述】:

在我的 Android 应用中,我需要将多个文件保存到 Firebase 云存储中。 上传需要完成,然后我才能将完整对象保存到数据库(文件只是完整对象的一部分,我正在为完整对象中的每个文件保存上传的下载 URL)。

如果我想使用 WorkManager 来完成这项任务,我怎样才能让所有文件先上传,然后将完整对象上传到其数据库? 有没有办法将所有文件作为批量上传上传,而不是将它们全部放在一个循环中? 了解所有上传完成时间的最佳方式是什么?

【问题讨论】:

  • 您指的是 Cloud Storage 而不是 Firestore? Firestore 是一个数据库,而 Cloud Storage 用于一般文件上传。
  • 你说得对,我指的是 Firebase 云存储。

标签: android firebase firebase-storage


【解决方案1】:

客户端SDK不提供批量文件上传操作。您必须使用每个单独上传返回的任务对象来确定它们何时全部完成。您可能会发现使用 Tasks API 中的 Tasks.whenAll() 设置多个任务完成的回调很有帮助。

【讨论】:

  • 你的意思是像: val tasks = mutableListOf() val uploadTask = ref.putFile(...) tasks.add(uploadTask) 并循环执行,然后,在循环结束写: val finishTask = Tasks.whenAll(tasks) finishTask.addOnCompleteListener { ... } ?
  • 我试试,谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-01-25
  • 2020-05-23
  • 1970-01-01
  • 2017-05-31
  • 2021-11-05
  • 2019-08-18
  • 2021-02-06
  • 2018-07-03
相关资源
最近更新 更多