2017-07-05 4 views
0

Können Sie mir bitte helfen, ich versuche, ein Bild in FirebaseStorage hochladen. Aber es schlägt fehl.Image konnte nicht in Firebase-Speicher hochgeladen werden

My Button-Methode klicken

public void uploadImage(View view){ 
    Intent intent = new Intent(Intent.ACTION_PICK); 
    intent.setType("image/*"); 
    startActivityForResult(intent,GALLERY_INTENT); 
} 

Und hier ist onActivityResult()

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    progressDialog.setMessage("Uploading"); 
    progressDialog.show(); 
    if(requestCode ==GALLERY_INTENT){ 
     final Uri uri = data.getData(); 
     StorageReference filepath = storageReference.child("Photos").child(uri.getLastPathSegment()); 
     filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 

       Toast.makeText(getApplicationContext(),"Uploaded Successfully",Toast.LENGTH_LONG).show(); 
       // profileImage.setImageURI(uri); 
       progressDialog.dismiss(); 
      } 
     }); 
    } 
} 

Was ist mit diesem Code falsch?

+0

Versuchen haben Sie einen Fehler bekommen? – akhilesh0707

Antwort

0

dieses

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Log.e("resultCode: ", resultCode + " RequestCode: " + requestCode); 
    if (resultCode == getActivity().RESULT_OK) { 
     sendImageToFireBase(data.getData()); 
    } 
} 

private void saveImageToFireBase(Uri pathUri) { 
    StorageReference storageReference = FirebaseStorage.getInstance().getReference().child("Photos"); 
    StorageReference photoRef = storageReference.child(pathUri.getLastPathSegment()); 
    // Upload file to Firebase Storage 
    photoRef.putFile(pathUri).addOnSuccessListener(getActivity(), new OnSuccessListener<UploadTask.TaskSnapshot>() { 
     public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
      // When the image has successfully uploaded, we get its download URL 
      Uri downloadUrl = taskSnapshot.getDownloadUrl(); 
      // Set the download URL to the message box, so that the user can send it to the database 
     } 
    }); 
} 
Verwandte Themen