Member 14883729 Ответов: 1

Путь не должен содержать в себе //


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

val firebase_url = contentDTOs[p1].imageUrl
            val storageRef =
                firebase_url?.let { it1 ->
                    FirebaseFirestore.getInstance().collection("images").document(
                        it1
                    )
                }

             storageRef?.delete()?.addOnSuccessListener {
                // File deleted successfully
                Toast.makeText(context , "Deleted",Toast.LENGTH_SHORT).show()

            }?.addOnFailureListener {
                // Uh-oh, an error occurred!
                Toast.makeText(context , "cannot delete",Toast.LENGTH_SHORT).show()
            }

            return@setOnLongClickListener true


Но всякий раз, когда я пытаюсь удалить любое изображение, оно возвращает мне ошибку

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.videoapp, PID: 20522
    java.lang.IllegalArgumentException: Invalid path (https://firebasestorage.googleapis.com/v0/b/video-app-af9bf.appspot.com/o/images%2FIMAGE_20201023_144632_.png?alt=media&token=9cd9d400-49ed-4f73-81b3-baa7668a8430). Paths must not contain // in them.


Что я уже пробовал:

Я пытаюсь удалить изображение из firebase

David Crow

"Пути не должны содержать в себе//."

Это вопрос или утверждение?

Member 14883729

Это утверждение, которое я получаю всякий раз, когда пытаюсь удалить какое-либо изображение

David Crow

Похоже, что вы путаете путь к файлу с URL-адресом.

1 Ответов

Рейтинг:
2

Richard MacCutchan

Обратитесь за помощью к документации: Удаление файлов в Интернете |  Военнослужащих[^]


Member 14883729

Я уже читал его и пробовал но результат тот же самый

Richard MacCutchan

Мы не можем видеть ничего больше, чем вы показали нам выше, поэтому мы не можем догадаться, что вы делаете неправильно. Вам нужно будет использовать свой отладчик для сбора более подробной информации.

ZurdoDev

Из этой ссылки:
// Создайте ссылку на файл для удаления
ВАР desertRef = storageRef.ребенок('images/desert.jpg');

Но ваша ссылка имеет полный url-адрес. Вы должны следовать документации.

ZurdoDev

+5. Первый результат в гугле.