【问题标题】:What is the difference between putFile() and putStream() methods of StorageReference of Firebase cloud storage?Firebase 云存储的 StorageReference 的 putFile() 和 putStream() 方法有什么区别?
【发布时间】:2018-05-05 10:40:32
【问题描述】:

我想将文件上传到 Firebase 云存储。我发现我可以使用两种不同的方法,它们是 StorageReference.putFile()StorageReference.putStream() 。我对这两种方法之间的区别感到困惑。

PS:我什至不知道流和文件之间的区别。

【问题讨论】:

  • 这对于这个站点来说有点太宽泛了。一种方法采用 File URI,另一种采用 Stream。讨论这些如何相关以及如何使用它们不适合这个问题。

标签: android firebase firebase-storage


【解决方案1】:

不同之处在于这些是重载的方法并且使用不同的参数。 putFile() 方法共有三种风格:

  1. putFile(Uri uri, StorageMetadata metadata, Uri existingUploadUri)
  2. putFile(Uri uri, StorageMetadata 元数据)
  3. putFile(Uri uri)

虽然putStream() 方法只有两种风格:

  1. putStream(InputStream 流,StorageMetadata 元数据)
  2. putStream(InputStream 流)

所有这些方法都做同样的事情,从内容 URI 异步上传到此 StorageReference,所有三个都返回 UploadTask

【讨论】:

  • 内存消耗和性能怎么样?还是很难看出任何差异?
  • @TommyD 我从未对它们进行基准测试,但如果你好奇,不妨试试。
  • 我将挑战 File 和 InputStream 的大小,以及上传期间的内存使用情况。上传本身应该不会有太大的不同感谢您的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
  • 2020-03-28
  • 2014-09-18
  • 2018-04-20
  • 2020-12-21
  • 2015-12-10
相关资源
最近更新 更多