blob图像渲染在春天mvc 3.0

时间:2012-10-27 14:46:09

标签: spring jsp servlets

我正在尝试读取来自数据库的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上渲染图像以及一些文本。但只有图像出现在浏览器中。

1 个答案:

答案 0 :(得分:1)

你不能在Spring中这样做(更准确地说是在Servlet中)。创建两个不同的控制器 - 一个将提供图像,另一个将返回带有文本的JSP页面。要在页面上获取图像,只需正确设置src标记img属性的值:它应该指向第一个控制器。