0

How do you upload an image that will also have the current user's UID attached?

Example below. enter image description here

This is the code I am using to upload the image, but so far having no success adding on the UID.

private void updloadImage(Uri pickedImage){
        StorageReference myStorage = FirebaseStorage.getInstance().getReference().child("users_photos");
        final StorageReference imagePath = myStorage.child(pickedImage.getLastPathSegment());
        userID = fAuth.getCurrentUser().getUid();
        imagePath.putFile(pickedImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                imagePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                    @Override
                    public void onSuccess(Uri uri) {
                        UserProfileChangeRequest myUpdate = new UserProfileChangeRequest.Builder().setPhotoUri(uri).build();


                    }
                });
            }
        });
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
McJoggin
  • 59
  • 5
  • 1
    What exactly does it mean for you to "attach" a UID to a file? What are you planning to do with that UID once it's attached in the way that you're thinking? – Doug Stevenson Feb 28 '20 at 23:09

1 Answers1

1

If you want the user's UID to be part of the image file name in Cloud Storage, you'd do:

StorageReference myStorage = FirebaseStorage.getInstance().getReference().child("users_photos");
final StorageReference imagePath = myStorage.child(pickedImage.getLastPathSegment());
userID = fAuth.getCurrentUser().getUid();
imagePath.putFile(userID+"_"+pickedImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {

If you instead want the image(s) for a user to end up in a subfolder based on their UID, you'd change that last line to:

imagePath.child(userID).putFile(pickedImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807