我正在尝试读取来自数据库的blob类型图像。我在控制器中的方法。只有图像文件在JSP上显示
@RequestMapping(value = "/showDetails")
public ModelAndView showDetails(@RequestParam("doc") int id,
HttpServletResponse responce) {
ModelAndView mView = new ModelAndView();
File file = documentDao.getFileDetail(id);
byte[] bytes = null;
try {
OutputStream op = responce.getOutputStream();
int length = (int) file.getContent().length();
bytes = file.getContent().getBytes(1, length);
op.write(bytes);
op.flush();
op.close();
responce.setContentType("image/gif");
mView.addObject("image", op);
} catch (Exception e1) {
e1.printStackTrace();
}
mView.addObject("file", file);
mView.setViewName("filedetails");
return mView;
}
我的控制器类中的上述方法。我想在JSP上渲染图像以及一些文本。但只有图像出现在浏览器中。
答案 0 :(得分:1)
你不能在Spring中这样做(更准确地说是在Servlet中)。创建两个不同的控制器 - 一个将提供图像,另一个将返回带有文本的JSP页面。要在页面上获取图像,只需正确设置src
标记img
属性的值:它应该指向第一个控制器。