我正在尝试在注入的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。有什么想法吗?
由于
答案 0 :(得分:1)
您需要将String中的Base64编码图像字节返回到JSP页面并使用:
<img src="data:image/png;base64,${yourBase64EncodedBytesString}"/>
显示图像。
使用Apache Commons Codec执行Base64编码。
所以对于例如:
String yourBase64EncodedBytesString = new String(Base64.encodeBase64(content));
将其设置为例如作为请求属性:
request.setAttribute("yourBase64EncodedBytesString", yourBase64EncodedBytesString);
在JSP页面中检索:
<img src="data:image/png;base64,${requestScope['yourBase64EncodedBytesString']}"/>