В этом посте мы обсудим, как загрузить изображение в базу данных, а затем загрузить его обратно. Мы будем использовать Spring Boot, Postgres и Postman для тестирования API.
Так что этот пост будет полезен, если вы реализуете какое-либо реальное приложение, в котором вам нужно хранить изображения, а затем отправлять их обратно пользователю по запросу.
Существует несколько способов хранения изображений.
1. Храните изображения в базе данных.
2. Храните изображения в файловой системе
Вышеупомянутые типы мы можем выбрать в зависимости от наших потребностей. Предположим, если нам нужен более безопасный доступ и менее часто используемые изображения, нам следует использовать БД, в противном случае файловая система предпочтительнее, если нам нужен более быстрый доступ, например, для веб-приложений, где изображение используется часто.
Получение образа из БД включает в себя множество шагов, поэтому это создает задержку, в то время как получение из файловой системы сервера является простым.
Узнайте больше о файловой системе и базе данных для большего понимания.
В этом посте я буду использовать базу данных Postgres для хранения изображений.
Обзор
Спецификация API:
- /image POST = для сохранения изображения в базу данных.
- /image/info/{name} GET = для получения информации о сохраненном изображении
- /image/{name} GET = Получить сохраненное изображение.
Процесс развития:
- Создайте проект из https://start.spring.io/ с веб-зависимостью и JPA.
- Настройте драйвер и свойства базы данных.
- Создайте такие пакеты, как сущность, репозиторий, сервис, контроллер, утилита.
Теперь мы запустим наш класс ImageData, который используется для хранения свойств изображения в БД.
Далее будет наш репозиторий, там у нас будет один метод для получения изображений из БД по имени.
public interface ImageDataRepository extends JpaRepository<ImageData, Long> { Optional<ImageData> findByName(String name); }
Теперь мы просто создадим один сервисный класс для бизнес-логики, связанной с хранением и получением данных изображений.
Затем из класса контроллера мы определим наши конечные точки и вызовем методы класса службы.
Теперь после этого мы начнем тестировать наше приложение с помощью Postman.
Итак, в почтальоне для загрузки файла в вызове POST -> выберите данные формы, а затем в раскрывающемся списке -> выберите файл -> загрузите из вашей системы.
Мы можем использовать сжатие и распаковку при сохранении и получении изображений.
Теперь наш пример готов, теперь мы можем использовать эту концепцию в различных приложениях.
Спасибо за прочтение!!