response.setContentType("image/*");试试

解决方案 »

  1.   

    我数据库image字段的图片全是*.jpg,所以,我觉得不是这方面的问题
      

  2.   

    如果大家没有解决方案,可以提供显示SQL Server数据库里的图片的例子给我啊
      

  3.   

    http://expert.csdn.net/Expert/topic/1155/1155555.xml?temp=.3769953
      

  4.   

    我又写了一种方案
    download.jsp
    <%@ page  language="java" import="java.sql.*"%><%@  page import="java.io.*"%><%
         String did = request.getParameter("id").trim();
         Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
         Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=deng","sa","sa");
         PreparedStatement sql=con.prepareStatement("select image from news where id='"+did+"'");
         ResultSet rs = sql.executeQuery();
         rs.next();
         InputStream in = rs.getBinaryStream("image");
         response.reset();
         response.setContentType("image/jpeg");
         byte[] b = new byte[1024];
         int len;
     while((len=in.read(b)) >0)
     response.getOutputStream().write(b,0,len);
     in.close();
     rs.close();
    %>show.jsp是
    <%@ page contentType="text/html;charset=gb2312"%>
    <html>
    <body>
    <h1>显示数据库中的图形文件</h1>
     <img src="download.jsp"  width=100 height=100 >
    </body>
    </html>出错说:OutputStream is already being used for this request
      

  5.   

    while((len=in.read(b)) >0)
    {
    response.getOutputStream().write(b,0,len);
    }
    in.close();
    rs.close();test it
      

  6.   

    还是出现OutputStream is already being used for this request
    我用的是后一种办法,程序看起来已经很简单了.
      

  7.   

    建议你像下面这样包装一下
    BufferedOutputStream dout = new BufferedOutputStream( response.getOutputStream());
      

  8.   

    我和roby_tao的完全一样的问题
    怎么处理呢???????????????