一个jsp页面如何读取oracle的多张图片
我的代码如下:
InputStream in[] = new InputStream[100];
String sql="select * from Officeinsp_accessory WHERE ID = " + image_id;
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
int i=0;
while(rs.next()){
in[i] = rs.getBlob("BINDARYFILE").getBinaryStream();
i++;
}
response.reset();
response.setContentType("image/jpeg");
byte[] b = new byte[1024];
int len;
for(int j=0;j<i;j++){
while((len=in[j].read(b)) >0)
response.getOutputStream().write(b,0,len);
}
for(int k=0;k<i;k++){
in[k].close();
}
out.clear();
out=pageContext.pushBody();
rs.close();
stmt.close();
conn.close();
但是运行出来,只能显示第一张图片,有什么办法能够显示所有图片吗,在数据库中
String sql="select * from Officeinsp_accessory WHERE ID = " + image_id;
这句话是对应四张图片的,我要怎么让这四张图片都显示呢?
------解决方案--------------------我觉得你还是存图片路径,然后读取所有图片路径放入到list中传递给前端页面方便!
或者你试试在每次传输完一个图片数据流后flush一下!
------解决方案--------------------楼主,图片格式的文件是有文件头的,它指定了文件的宽高等属性,超过这个范围的,会被当作无效数据丢弃
------解决方案--------------------你这样肯定只能返回最后一张了,前台可以传一个id过来,后台根据id返回某一个图片