отображать изображение в JSP с помощью Spring

1

Я пытаюсь отобразить изображение в jsp, введенном. Я загружаю и сохраняю изображение в базе данных, но не знаю, как извлекать и отображать в jsp. Мой контроллер:

@RequestMapping(value = "/ver2", method = RequestMethod.GET)
public void ver2(HttpSession session, HttpServletResponse response) {
    OutputStream oImage;
    Item item10 = itemRepository.findOne(11);

    try {
        byte[] photo = item10.getImagen();
        response.setContentType("image/jpeg, image/jpg, image/png, image/gif");
        oImage = response.getOutputStream();
        oImage.write(photo);
        oImage.flush();
        oImage.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

С помощью этого кода я показываю полный экран, и мне нужно вводить jsp. Есть идеи?

благодаря

Теги:
database
jsp
spring

1 ответ

1
Лучший ответ

Вам нужно вернуть байты с кодировкой изображения Base64 в String на страницу JSP и использовать:

<img src="data:image/png;base64,${yourBase64EncodedBytesString}"/>

для отображения вашего изображения.

Используйте кодеки Apache Commons для кодирования Base64.

Так, например, для:

String yourBase64EncodedBytesString = new String(Base64.encodeBase64(content));

Установите его, например, как атрибут запроса:

request.setAttribute("yourBase64EncodedBytesString", yourBase64EncodedBytesString);

И получить на странице JSP:

<img src="data:image/png;base64,${requestScope['yourBase64EncodedBytesString']}"/>
  • 0
    Magnifique, идеально, точно. большое Вам спасибо!!! Я никогда не думал, что мне придется кодировать это первым
  • 0
    Нет проблем, рад помочь :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню