如何通过Firebase中的存储参考获取文件大小

时间:2016-07-12 16:53:24

标签: android firebase firebase-storage

这样做我得0:

uploadRef.getMetadata().addOnSuccessListener(new OnSuccessListener<StorageMetadata>() {
                @Override
                public void onSuccess(StorageMetadata storageMetadata) {
                    size=storageMetadata.getSizeBytes();
                }
            });

此时也是0,

 UploadTask uploadTask = uploadRef.putFile(returnUri);           
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                    size[0] = taskSnapshot.getMetadata().getSizeBytes();

这就是错误:任务尚未完成

float test =uploadRef.getMetadata().getResult().getSizeBytes();

1 个答案:

答案 0 :(得分:1)

这是一个与变量“大小”范围相关的愚蠢错误。在数据库中存储时,它没有获得变量“size”的更新值。

方法2效果很好。