2016-07-12 64 views
1

我得到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(); 
+0

这有点傻,但是您是否检查过以确保该项目已上传到存储? – mjr

+0

将其上传到存储。我可以将文件名保存到数据库,但显然大小为0。 –

回答

1

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

方法2很好。