【问题标题】:Firebase Storage Progress BarFirebase 存储进度条
【发布时间】:2016-11-28 02:51:12
【问题描述】:

我的问题非常简单,当我调用 taskSnapshot.getTotalByteCount() 时,我得到的值为 -1,因此当我插入 addOnProgressListener 的示例代码时,我得到了非常奇怪的进度更新。 这是我的完整代码:

@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
  double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
  Log.d("Progress", "onProgress: The value of the max is: " + taskSnapshot.getTotalByteCount());
  Log.d("Progress", "onProgress: The progress is: " + progress);
}

请大家帮忙! :(

【问题讨论】:

  • 看起来,发生了一些错误。尝试附加onFailureListener 并将错误打印到日志
  • 它没有显示任何错误...我必须添加任何元数据吗?

标签: android firebase firebase-storage


【解决方案1】:

因为这是一个警告,我见过reported这个问题的人,因为它没有在官方docs中声明 把你的代码改成这样:

@Override
@SuppressWarnings("VisibleForTests")

public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
    double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
    Log.d("Progress", "onProgress: The value of the max is: " + taskSnapshot.getTotalByteCount());
    Log.d("Progress", "onProgress: The progress is: " + progress);
}

【讨论】:

    【解决方案2】:

    我使用 .putFile 而不是 .putStream 设置上传任务,它可以工作,不知道为什么,但现在可以工作了!这是代码:

    UploadTasktask=FirebaseStorage.getInstance().getReferenceFromUrl(Constants.Firebase_Storage).child("Test").putFile(uri, metadata)

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 2017-09-12
      • 1970-01-01
      • 2016-09-27
      • 2019-09-14
      • 2018-01-19
      • 2021-11-14
      • 1970-01-01
      • 2021-12-22
      相关资源
      最近更新 更多