0

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

4

1 回答 1

1

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

于 2012-10-27T20:32:10.883 回答