2016-07-12 268 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很好。