7

addOnProgressListener によってオーバーライドされる onProgress 関数に問題があります。

私の問題は、画像をアップロードしようとしたときに TaskSnapshot が転送されたバイトを返さないことです。0のままです。これは、私がこれのために持っているコードのスニペットです:

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 は次のとおりです。

05-28 19:21:33.911 27673-27673: 転送されたバイト数: 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 TotalBytes: 205846
05-28 19:21:41.458 27673-27673: アップロード: 100% 完了

4

2 に答える 2