将byte数组转换成JPEG格式返回到页面
开发工具与关键技术:MyEclipse 10/Java
作者:cxxone
撰写时间:2019年07月15日
第一步:先拿到byte数组的图片(我的是直接从数据库查出来的)
IndentService is=new IndentService();//实例一个类对象
response.setContentType("image/jpeg");//将response设置为JPEG格式
int id=(request.getParameter("oper")==null)?0:Integer.parseInt(request.getParameter("oper"));
//按条件查询指定的图片
Indent list= is.selectPicture(id);
第二步:将图片转换成JPEG格式(关键)
// 将byte数组转换成字节流
ByteArrayInputStream bile1=new ByteArrayInputStream(list.getPicture());
//将字节流转为BufferedImage格式
BufferedImage bil=ImageIO.read(bile1);
//输出流
ServletOutputStream out = response.getOutputStream();
//将输出流转换为JPEG格式
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(bil);
out.flush();
out.close();
第三步:在jsp直接请求该方法即可(这个src路径就是图片的路径)
<img src='${ctx}/PictureServlct?oper="+data[i].sakanaProjectID+"' width='200' height='100' id='IStudentPicture"+i+"' />
效果图: