2016-05-29 4 views
2

addOnProgressListenerによってオーバーライドされるonProgress関数に問題があります。Firebaseストレージのアップロードの進行が不正確

私の問題は、画像をアップロードしようとするとTaskSnapshotが転送されたバイトを返さないということです。それはちょうどここでは0のまま、私はこれを持っているコードの抜粋です:

5月28日19:21:33.911 27673から27673:ここでは

StorageReference myStorageRef = momentsStorageRef.child(momentID + ".jpeg"); 

UploadTask uploadTask = myStorageRef.putBytes(data, new StorageMetadata.Builder() 
     .setContentType("image/jpeg") 
     .build()); 



uploadTask.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() { 
    @Override 
    public void onProgress(UploadTask.TaskSnapshot taskSnapshot) { 
     int bytesTransferred = (int) taskSnapshot.getBytesTransferred(); 
     int totalBytes = (int) taskSnapshot.getTotalByteCount(); 



     int progress = (100 * bytesTransferred)/totalBytes ; 
     Log.v(TAG, "Bytes transferred: " + taskSnapshot.getBytesTransferred()); 
     Log.v(TAG, "TotalBytes: " + totalBytes); 
     Log.v(TAG, "Upload is: " + progress + "% done"); 
     mBuilder.setProgress(100, progress, false); 


     mNotifyManager.notify(APPLICATION_NOTIFICATION_ID, mBuilder.build()); 
    } 
}) 

logCatあるバイトの転送します:0
05-28 19:21:33.911 27673-27673:TotalBytes:205846
05-28 19:21:33.911 27673-27673アップロード:0%完了
05-28 19:21:35.637 27673- 27673:バイト 転送:0
05-28 19:21:35.637 27673-27673:TotalBytes:205846
05-28 19:21:35.637 27673-27673:アップロード:0%完了
05-28 19:21:41.458 27673-27673転送されたバイト:205846
05-28 19:21:41.458 27673-27673 合計バイト:205846
5月28日19:21:41.458 27673から27673:アップロードは100% 進捗が256キロバイトのチャンクで測定される

答えて

4

を行います。あなたのファイルはそれよりも小さいので、1つのチャンクに収まるので、進捗状況は1回で0%から100%にジャンプします。

ファイルサイズが小さく、帯域幅が狭い接続の場合は、進捗状況の測定精度を向上させるためのオープンな作業があります。

+0

Okay Frank。私に教えてくれてありがとう。このタスクが完了したら私を更新してください.Githubへのリンクは、私が見たり貢献したりすることができます。ありがとう。 –

関連する問題