во время создания моего пользователя я вставляю ваши фотографии в базу данных Firebase Storage (как показано в методе ниже):
final StorageReference ref = FirebaseStorage.getInstance().getReference("/images/"+barNomeUser.getText().toString()+"perfilFoto");
ref.putFile(uriSelecionada) // Insere a foto selecionada no Storage
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Log.i("Url do firebase", uri.toString());
uriSelecionada = uri;
String uuid = FirebaseAuth.getInstance().getUid();
final String nameUser = barNomeUser.getText().toString(); //
String profileFotoUrl = uriSelecionada.toString();
final UserApp userApp = new UserApp(uuid, nameUser, profileFotoUrl, 0, 0, 0, 0);
UserProfileChangeRequest profileChangeRequest = new UserProfileChangeRequest.Builder()
.setDisplayName(nameUser).setPhotoUri(uri).build();
firebaseUser.updateProfile(profileChangeRequest).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Log.i("Register full", firebaseUser.getDisplayName());
}
} ...
Однако я заметил, что он потребляет много памяти базы данных, и Я понял, что функция хранения-изменения размера cloudFunctions решит мою проблему ... и она даже решила ее, но она породила еще одну большую проблему: исходное изображение удаляется после изменения размера, это делает предыдущий токен доступа (полученный getDownloadUrl метод) больше не действителен, так как это изображение было удалено из хранилища и теперь существует новое изображение и новый токен, оставляя пользователя без «фотографии» в профиле, как я могу получить изображение с измененным размером для обновления фотография профиля моего пользователя, если процесс изменения размера может занять до 60 секунд и, кроме того, есть время для запроса базы данных?
Новое изображение выглядит так, как будто оно получает одинаковый токен, с той лишь разницей, что добавив в конце "_480x320":