我的imageDispaly.jsp有
<img src="/Elvisxu/imageDisplayProcess.do?id=<%=rs.getString(1)" width="75" height="60"/>
在jsp中调用servlet及其in循环。
我的servlet类代码如下
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
String imgLen="";
try {
DBManager dm=new DBManager();
dm.GetConnection();
String sql="select snap from newapp where applid="+id;
ResultSet rs=dm.select(sql);
while (rs.next ())
{
imgLen = rs.getString(1);
System.out.println(imgLen.length());
int len = imgLen.length();
byte [] rb = new byte[len];
InputStream readImg = rs.getBinaryStream(1);
System.out.println("readImg "+readImg);
int index=readImg.read(rb, 0, len);
System.out.println("index "+index);
response.reset();
response.setContentType("image/png");
response.getOutputStream().write(rb,0,len);
response.getOutputStream().flush();
}
}catch (Exception e) {
System.out.println(e);
}
我在谷歌搜索但我没有任何理由这样做。
我使用postgresql db从snap列获取数据
[B @ 302a7504
任何回应都很明显
答案 0 :(得分:0)
这个问题是因为“bytea”列中的数据,并且在将数据保存到newapp表中的snap列(bytea)时使用预准备语句解决了这个问题。