日期:2014-05-17  浏览次数:20664 次

关于从数据库读出图片,在页面显示的问题
描述:
使用ibatis从数据库当中读出一张图片,图片是用二进制流的方式存储在oracl数据库中
现在可以正确读出这个流,但是页面显示的时候显示不出来,图片格式是jpg格式
如果把读出来的图片保存到本地硬盘上是可以正确保存并显示出来
问题:
如何在jsp页面上正确显示出来,是不是转码过程中出问题了
代码如下
其中CeShi是一个pojo类,里边的ceshi字段里存放的是图片的二进制数据
Java code


            PictureReadByIbatis  pri = new PictureReadByIbatis();
            CeShi text = new CeShi();
            Map demoMap = new HashMap();
            List demoList = new ArrayList();
            demoList = pri.getList("showTable", demoMap);
            text = (CeShi)demoList.get(0);
            //把读出的数据流文件存进一个byte数组中*
            //byte[]dd = text.getCeshi();
            byte[]dd2 = text.getCeshi();
            
            
             ServletOutputStream out = null;
             response.setContentType("image/bmp");
                     out = response.getOutputStream();  
                     out.write(dd2);  
                     out.flush(); 
                     out.close();
                     return null;
             


jsp页面做了一个很简单的显示
<img src="<%上边那个方法的类加方法%>" width="210" height="210">

------解决方案--------------------
探讨

请无视response.setContentType("image/bmp");这句代码,我己经给改成jpeg,图片存放到数据库当中后,自动转换为jpeg格式