我的代码如下:
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;
这句话是对应四张图片的,我要怎么让这四张图片都显示呢?
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;
这句话是对应四张图片的,我要怎么让这四张图片都显示呢?
解决方案 »
- 奇怪的文件删除问题
- [200分]在jsp页面如何生成图片的校验码,用于用户的登陆校验!!急等
- 有用过iText的吗? 帮忙指教一下
- 想做一个下拉框和一个文本字段联到.简单的.帮帮我~!
- 做一个登录界面,帐号和密码放在文件中
- 谁在servlet下用deflater或者inflater来压缩或者解压缩数据。。。。
- 用jsp/servlet写的登录程序为什么跳转不起作用啊!
- session.getAttribute("user")有值,(User)session.getAttribute("usr")为null
- 请教关于JavaBean的路径问题:
- 在JSP怎么使用servlet?
- 求助!css下拉菜单怎么设置能默认显示第一条
- js如何能正确获取PNG图片大小?
//定义一个list存in数组啊
in[i] = rs.getBlob("BINDARYFILE").getBinaryStream();
i++;
}
能具体一点吗?
或者你试试在每次传输完一个图片数据流后flush一下!
就是想读取oracle的多张图片,看看大家有没什么办法
“每次传输完一个图片数据流后flush一下!”这个我试了不行啊...
然后从数据库中读取所有图片路径放入到list中传递给前端页面
如List<String> imgPaths = new ArrayList<String>();
在前台页面中
<s:iterator value="imgPaths" var="image">
<img src="<s:property value='image'/>"/>
</s:iterator>
这样不行吗?
PreparedStatement pstatement = null;
String sql = "insert into t_student(photo)";
sql += "values (?)";
pstatement.setBlob(1, new FileInputStream(stu.getPhoto()),400000)
还有要用Oracle的话用class.16jar,class12.jar不支持!