Хранение базы данных - получение URL изображения

Я начал использовать firebase (Firebase для Интернета) для моего бэкэнда. Я могу хорошо работать с базой данных Firebase Realtime, но я не понимаю, как работает Firebase Storage (для изображений, видео и т.д.).

В принципе, я хотел бы иметь некоторый список новостей на моем сайте, каждый элемент с небольшим рисунком. Поэтому я загрузил эти снимки в хранилище Firebase, но как получить доступ к их URL-адресу (это нужно для моего атрибута <img/> src)?

Ответ 1

Firebase Storage работает аналогичным образом при извлечении данных. Хотя есть разные способы извлечения. Одним из наиболее важных факторов является то, как вы сохраняете свои данные. В соответствии с этим вы сможете получить их.

Здесь:

storageRef.child("users/me/profile.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
        // Got the download URL for 'users/me/profile.png'
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
});

// Alternatively way to get download URL
storageRef.child("users/me/profile.png").getDownloadUrl().getResult(); 

Местоположение дочернего очень важно, и это должно быть частью вашего логина.

Например, в структуре новостей это может быть:

storageRef.child("newsID/articleimage/image.jpg")

newsID - уникальный идентификатор для каждой статьи. ВАЖНО!, когда вы создаете свою статью, чтобы получить отдельные изображения. и что "image.jpg" можно загрузить различными способами, как описано здесь: Документация.