Uri downloaduri=taskSnapshot.getDownloadUrl();//here i cant use getdownloadurl() function
DatabaseReference new_prod=db.push();
The taskSnapshot.getDownloadUrl()
method was removed in recent versions of the Firebase Storage SDK. You will need to instead get the download URL from the StorageReference
now.
Calling StorageReference.getDownloadUrl()
returns a Task
, since it needs to retrieve the download URL from the server. So you'll need a completion listener to get the actual URL.
From the documentation on downloading a file:
storageRef.child("users/me/profile.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener
() { @Override public void onSuccess(Uri uri) { // Got the download URL for 'users/me/profile.png' in uri System.out.println(uri.toString()); } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception exception) { // Handle any errors } });
Alternatively that first line could be this if you're getting the download URL right after uploading (as in your case):
taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(new OnSuccessListener() {
Also see: