teja2495
12/9/2018 - 7:20 PM

Upload and Delete Image in Firebase Storage

StorageReference storageRef = FirebaseStorage.getInstance().getReference();
StorageReference imageRef;

//AFter getting selected Image URI from Image Picker
imageRef = storageRef.child("images/" + selectedImage.getLastPathSegment());
lv.setVisibility(View.INVISIBLE);
progressBar.setVisibility(View.VISIBLE);
progressText.setVisibility(View.VISIBLE);
UploadTask uploadTask = imageRef.putFile(selectedImage);

Task < Uri > urlTask = uploadTask.continueWithTask(new Continuation < UploadTask.TaskSnapshot, Task < Uri >> () {
    @Override
    public Task < Uri > then(@NonNull Task < UploadTask.TaskSnapshot > task) throws Exception {
        if (!task.isSuccessful()) {
            throw task.getException();
        }
        return imageRef.getDownloadUrl();
    }
}).addOnCompleteListener(new OnCompleteListener < Uri > () {
    @Override
    public void onComplete(@NonNull Task < Uri > task) {
        if (task.isSuccessful()) {
            Uri downloadUri = task.getResult();
            progressBar.setVisibility(View.INVISIBLE);
            progressText.setVisibility(View.INVISIBLE);
            lv.setVisibility(View.VISIBLE);
            message.setImgRef(downloadUri.toString());
            Toast.makeText(Main3Activity.this, "Upload Successful", Toast.LENGTH_SHORT).show();
            mRootRef.child(message.getMsgId()).setValue(message);
            pickImage.setImageURI(null);
            pickImage.setBackgroundResource(R.drawable.addimage);
            selectedImage = null;
        } else {
            Toast.makeText(Main3Activity.this, "Upload Failed", Toast.LENGTH_SHORT).show();
        }
    }
});

//Delete

Uri uri = Uri.parse(displayList.get(position).getImgRef());
StorageReference deleteRef = storageRef.child(uri.getLastPathSegment());
//String s = deleteRef.toString();

deleteRef.delete().addOnSuccessListener(new OnSuccessListener < Void > () {
    @Override
    public void onSuccess(Void aVoid) {
        Toast.makeText(Main3Activity.this, "Delete Successful", Toast.LENGTH_SHORT).show();

    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        Log.d("demo", exception.toString());
    }
});