При загрузке изображения в Firebase Storage автоматически удаляются предыдущие загруженные изображения. - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь закодировать ProfileActivity, которое даст вам возможность загрузить на него изображение с вашим именем.

Это функция загрузки:

private void uploadFile(){


        final StorageReference fileReference = mStorageRef.child(getFileExtension(mImageUri));
        mUploadTask = fileReference.putFile(mImageUri);

        fileReference.putFile(mImageUri)
                .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                     @Override
               public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                Toast.makeText(ProfileActivity.this, "Uploaded Successfully", Toast.LENGTH_SHORT).show();

                Upload upload = new Upload(mEditTextFileName.getText().toString().trim(),
                        taskSnapshot.getUploadSessionUri().toString().trim(), mEditTextFileName.getText().toString().trim());

                uploadID = mEditTextFileName.getText().toString().trim();
                mDatabaseRef.child(uploadID).setValue(upload);

            }
    })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(ProfileActivity.this, "No file selected", Toast.LENGTH_SHORT).show();
                    }
                });

}

Я не могу понять, что не так. Я вижу, что все значения mImageUrl для всех родителей изменяются на тот элемент, который я только что загрузил.

Мой upload.class:

ublic class Upload {

private String mName;
private String mImageUrl;
private String key;

public Upload(){

    //constructor
}

public Upload(String name, String imageUrl, String id){

    if (name.trim().equals("")){
        name = "No Name";
    }

    this.mName = name;
    this.mImageUrl = imageUrl;
    this.key = id;
}

Я каждый раз загружаю изображение с другим именем в mEditTextFileName, который сохранит текущее загруженное изображение в Firebase Storage и не изменит значение mImageUrl для всех родителей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...