首页 > 解决方案 > 为什么 firebase 上传任务快照只返回 0 和 100% 的进度?

问题描述

Firebase 上传管理器在上传文件时仅返回 0 到 100%。许多stackoverflow的用户说,

但我想要顺利完成 0,1,2,3,...100% 的上传任务,是否有可能,如果可以,请解释。

filepath.putFile(sendingImageURI).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
                                @Override
                                public void onProgress(UploadTask.TaskSnapshot taskSnapshot)
                                {
                                    double progress = ((100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount())/100;
                                    Progressbar.setProgress((int) progress);
                                    progressText.setText(String.valueOf(progress));
                                    Log.i("progress",String.valueOf(progress));//this print 0 and 100 only
                                }
                            });

在此处输入图像描述

标签: androidfirebasefirebase-storage

解决方案


听起来您已经有了答案:“仅当文件大小<256 kb(非常小)时才会发生”。SDK 只会为更大的上传字节增量调用您的回调。没有办法以编程方式控制这一点,除非您使用来自 GitHub 的代码构建您自己的 SDK 版本,该代码以您想要的方式工作。如果您想要不同的行为,您可以随时提交功能请求。


推荐阅读