загрузка файла изображения из базы данных sql с помощью Springboot

#java #spring #spring-boot #rest #spring-boot-admin

#java #spring #spring-boot #rest #spring-boot-admin

Вопрос:

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

image.path.idProofPhoto=/opt/static/images/idProofPhoto

Мне нужно извлечь данные оттуда

хорошо, теперь, что я сделал

Мне пришлось извлекать данные в формате, подобном "id_imagename.jpeg" where id и JPEG , из данных, хранящихся в базе данных, и id идентификатор сотрудника, а jpeg — это имя расширения этого файла, также сохраняется. теперь я извлек идентификатор и расширение, теперь мой файл имеет что-то вроде "1536_alex.jpeg" этого имени, файл находится в нашей базе данных, а путь image.path.idProofPhoto=/opt/static/images/idProofPhoto

Итак, теперь моя проблема в том, как я могу получить эти изображения и как отобразить?

кто-нибудь может мне помочь с этим?

Комментарии:

1. Пожалуйста, покажите нам, что вы пробовали, и задайте конкретный вопрос.

Ответ №1:

Вы можете использовать ресурс Spring image для обслуживания изображений. Я бы посоветовал не обслуживать контент с локального сервера, а следовать приведенному ниже подходу.

  1. Используйте URL CDN / Cloud bucket storage URL для обслуживания содержимого этого изображения с предварительно подписанным ограниченным сроком действия для URL-адресов.

  2. Это позволит сделать ваше изображение действительно быстрым и избежать единой точки отказа, а также позволит вам управлять жизненным циклом ваших изображений.

  3. Сохраняйте и извлекайте URL-адреса изображений из вашей базы данных. Создайте новый столбец и сохраните путь к изображению в основном с некоторыми случайными ссылками на изображения, просто чтобы избежать угадывания URL-адресов. Не создавайте URL-адреса, которые можно угадать, поскольку любой может догадаться, и создайте URL-адрес для извлечения содержимого.

Если у вас есть внутреннее приложение, в котором вы не можете разместить его в облаке, вы можете использовать Spring boot, а затем обратиться к этомуhttp://zetcode.com/springboot/serveimage /

Комментарии:

1. Его нет в локальном репозитории. Он находится в облачной базе данных.

2. Да, вышеупомянутое решение будет работать для обоих. Смотрите Мой ответ ниже, я также внес некоторые изменения в сохранение URL-адреса изображения.