Jama Mohamed
Jama Mohamed

Reputation: 3405

How to delete image from Firebase Storage?

Can you help delete an image from Firebase Storage. String deleteImage holds the full url of where the image is located in the Firebase storage.

My code is as follows, but it does not delete the image:

StorageReference deleteFile = storageReference.child(deleteImage);
            deleteFile.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    Toast.makeText(EditProfile.this, "Previous Image Deleted", Toast.LENGTH_SHORT).show();
                }
            });

Upvotes: 17

Views: 50027

Answers (2)

Abhijith mogaveera
Abhijith mogaveera

Reputation: 1284

Use the function getReferenceFromUrl(URL)

FirebaseStorage firebaseStorage = FirebaseStorage.getInstance();
                    StorageReference storageReference = firebaseStorage.getReferenceFromUrl(pd.getUrl());
                    storageReference.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {
                            Log.e("Picture","#deleted");
                        }
                    });

Upvotes: 7

Michael Vescovo
Michael Vescovo

Reputation: 3931

You need to use this method call:

StorageReference photoRef = mFirebaseStorage.getReferenceFromUrl(mImageUrl);

Then delete as you were:

photoRef.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
    @Override
    public void onSuccess(Void aVoid) {
        // File deleted successfully
        Log.d(TAG, "onSuccess: deleted file");
    }
    }).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Uh-oh, an error occurred!
        Log.d(TAG, "onFailure: did not delete file");
    }
});

Upvotes: 60

Related Questions