在 JSP 中获取使用 servlet 检索的字节数组图像数据的损坏图像,表示"image cannot be opened contains error"



我的imagedispaly.jsp

<img src="/Elvisxu/imageDisplayProcess.do?id=<%=rs.getString(1)" width="75" height="60"/>

致电servlet及其在JSP中的循环

我的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);
    }

我在Google上进行了搜索,但没有任何理由。

我正在使用postgresql db从snap列获取数据

[B@302A7504

任何响应都是可观的

这个问题是因为" bytea"列中的数据及其通过使用准备的语句解决的,同时将数据保存到newapp表中的snap列(bytea)。

最新更新