URL-адрес изображения недопустим в базе данных Firebase Realtime - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь сохранить URL-адрес изображения из Firebase Storage в базу данных в режиме реального времени, а затем загрузить библиотеку Url by Picasso, но изображение сохраняется, но неверный формат, все другие изображения загружаются, но один дочерний элемент с именем postimage не загружается, потому что это неверный URL. Мне нужно только знать, что этот код является правильным с androidx, потому что я использую androidx. и все остальное работает правильно, что-то не так с этим кодом.

Загрузка URL-адреса изображения из хранилища в базу данных реального времени Код:

            @Override
            public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
               if (task.isSuccessful())
               {  filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                   @Override
                   public void onSuccess(Uri uri) {
                       final String downloadUrl = uri.toString();
                       postImageUri = downloadUrl;
                   }

               });
                  PostImage = postImageUri;
                   // downloadUrl = task.getResult().getUploadSessionUri().toString();
//                   final String downloadUrl = filePath.getDownloadUrl().toString();
//                   postImageUri = downloadUrl;
                 // downloadUrl = task.getResult().getDownloadUrl().toString();

                   Toast.makeText(PostActivity.this, "Image Uploaded Successfully To Storage!", Toast.LENGTH_SHORT).show();
                   SavingPostInformationToDatabase( );
               }
               else
                   {
                       String message = task.getException().getMessage();
                       Toast.makeText(PostActivity.this, "Error! " + message, Toast.LENGTH_SHORT).show();
                   }
            }
        });```




1 Ответ

0 голосов
/ 24 марта 2020

Я столкнулся с этой проблемой, но позже я решил ... как вы, ребята, видите, что я использую метод filePath.getDownload, и там я получаю изображение Uri для хранения в базе данных в реальном времени через переменную postImagUri..so Пока переменная внутри filePath.getDownload имеет правильную ссылку на изображение, но если мы используем эту переменную вне этого filePath.getDownload, она дает нулевое значение, которое неуместно. Так что я просто вырезал мой метод SavingPostInformationToDatabase (); и вставил его в файл filePath.getDownload. Вызывает переменную, в которой хранится ссылка на изображение, которую я использовал в SavingPostInformationToDatabase (); метод. SavingPostInformationToDatabase (); это метод, который сохраняет значения в базе данных в реальном времени, используя метод HashMap.

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