2016-12-29 11 views
0

Firebaseストレージには奇妙な問題があります。最近、ファイルを完全にアップロードできました。しかし、アップロードがまだ完了していなくても、アップロードは起動しているようです。アップロードはコンソールに0Bを表示し、ファイル拡張子はapplication/octet-streamです。以前アップロードした画像と同じ画像をアップロードしていて、コードを変更しませんでした。Firebaseストレージのアップロードアップロードは成功しましたが、Firebaseコンソールのアップロードサイズは0B

は、ここに私のコード

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == PICK_IMAGE) { 
      if (data == null) { 
       //Display an error 
       return; 
      } 
      try { 
       //UPLOAD IMAGE 
       InputStream inputStream = getActivity().getContentResolver().openInputStream(data.getData()); 
       if(inputStream != null) { 
        img_upload_school_pic.setImageBitmap(BitmapFactory.decodeStream(new BufferedInputStream(inputStream))); 
        img_upload_school_pic.setVisibility(View.INVISIBLE); 
        //SHOW PROGRESSBAR 
        prg_upload.setVisibility(View.VISIBLE); 
        //UPLOAD IMAGE 
        ImageUploader uploader = new ImageUploader(); 
        uploader.uploadSchoolDp(inputStream, "sample.jpg", img_upload_school_pic, prg_upload); 
       } 
      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

アップローダークラス

public class ImageUploader { 

    private StorageReference rootRef = FirebaseStorage.getInstance().getReference().getRoot(); 

    public void uploadSchoolDp(final InputStream inputStream, String key, 
           final ImageView img_upload_school_pic, final ProgressBar prg_upload) { 

     StorageReference schools_dp_ref = rootRef.child("samplefoler"); 

     StorageReference img_df_ref = schools_dp_ref.child(key); 

     UploadTask uploadTask = img_df_ref.putStream(inputStream); 

     uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
       //HIDE PROGRESSBAR AND SHOW IMAGEVIEW 
       img_upload_school_pic.setVisibility(View.VISIBLE); 
       prg_upload.setVisibility(View.INVISIBLE); 
      } 
     }); 

     uploadTask.addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception e) { 
       e.printStackTrace(); 
      } 
     }); 
// 
//  uploadTask.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() { 
//   @Override 
//   public void onProgress(UploadTask.TaskSnapshot taskSnapshot) { 
//    txt_progress.setText(taskSnapshot.getBytesTransferred() + " of " + 
//      taskSnapshot.getTotalByteCount()); 
//    Log.d(null, Double.toString(taskSnapshot.getTotalByteCount())); 
//   } 
//  }); 

    } 
} 

ためのコードだし、もう一つがあります。 taskSnapshot.getTotalByteCount()は-1を返します。私はアップロードのステータスを表示するためにそれを使用することはできませんので、私はちょうどそれをコメントアウトします。

答えて

0

ファイルがコンソールに正しく表示されないようですが、生成されたダウンロードURLを使用して画像を表示できるため、ファイルが正常にアップロードされているようです。現時点では、私はこの問題を無視します。

関連する問題