Я пытаюсь отобразить изображение в 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. Есть идеи?
благодаря
Вам нужно вернуть байты с кодировкой изображения 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']}"/>