@AndreyRafalsky13

Почему после сохранения изображения в FirebaseStorage получаю исключение при получении url?

Добрый день. Помогите разобраться. Нужно положить в FirebaseStorage изображение и после этого положить url на это изображение в бд. Написал метод:

public void updateProfileImage(Uri resultUri) {
        storage.getReference().child(StorageConstants.PROFILE_IMAGES_DIR_NAME).child(getCurrentFirebaseUser().getUid()+".jpg").putFile(resultUri)
                .addOnCompleteListener(task -> {
                    if (task.isSuccessful()){
                        db.collection(UserCollection.COLLECTION_NAME).document(getCurrentFirebaseUser().getUid())
                                .update(UserCollection.UserDocument.PROFILE_FIELD, task.getResult().getStorage().getDownloadUrl())
                                .addOnSuccessListener(aVoid -> {
                                    status.postValue(Status.IMAGE_UPDATED);
                                    updateUser();
                                })
                                .addOnFailureListener(e -> status.postValue(Status.SOMETHING_WRONG));
                    }else{
                        status.postValue(Status.SOMETHING_WRONG);
                    }
                });
    }


Получаю иксепшн Caused by: java.lang.IllegalStateException: Task is not yet complete, когда пытаюсь получить url и положить его в документ.

В чем проблема никак не пойму. Заранее благодарен за помощь.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Bogdan24
Возможно проблема в ".jpg" во второй строчке. Попробуй так
storage.getReference().child(StorageConstants.PROFILE_IMAGES_DIR_NAME).child(getCurrentFirebaseUser().getUid()).putFile(resultUri)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы