I have used this library in my Android app
implementation 'com.google.firebase:firebase-core:17.0.0' implementation 'com.google.firebase:firebase-firestore:20.0.0' implementation 'com.google.firebase:firebase-storage:18.0.0' And this method use to upload my image on Firebase Storage:
StorageReference storageRef = mStorage.getReference(); finalStorageReference mountainsRef = storageRef.child("myImgName"); Uri file = Uri.fromFile(new File(myImgName)); UploadTask uploadTask = mountainsRef.putFile(file); uploadTask.addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception exception) { // Handle unsuccessful uploads progressDialog.dismiss(); Log.e(TAG, "img Error :" + exception.getMessage()); //Toast.makeText(MainActivity.this, "Failed "+e.getMessage(), Toast.LENGTH_SHORT).show(); } }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { progressDialog.dismiss(); //Log.e(TAG, "Task :" + taskSnapshot.getTask()); //Log.e(TAG, "Class Store:" + taskSnapshot.getStorage().getDownloadUrl()); Log.e(TAG,"metaData :"+taskSnapshot.getMetadata().getPath()); // taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc. // ... } }).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() { @Override public void onProgress(UploadTask.TaskSnapshot taskSnapshot) { double progress = (100.0 * taskSnapshot.getBytesTransferred() / taskSnapshot .getTotalByteCount()); progressDialog.setMessage("Uploaded " + (int) progress + "%"); } }); this code perfectly working for me to upload image. but how to know the image location url ?