不知道猜的對不對, 最好能打印出來看看.
java.io.File file = new java.io.File("d://s.jpg");//改成這試試.//這是一個例子,是從oracle中取出byte.
con= myPool.getConnection();
stmt=con.createPreparedStatement("select PRDIMAGE from product WHERE ITEMIDNO='" + itemNo+"'" );
rs = stmt.executeQuery();
rs.next();
InputStream in = rs.getBinaryStream("PRDIMAGE");
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);
}祝好運
java.io.File file = new java.io.File("d://s.jpg");//改成這試試.//這是一個例子,是從oracle中取出byte.
con= myPool.getConnection();
stmt=con.createPreparedStatement("select PRDIMAGE from product WHERE ITEMIDNO='" + itemNo+"'" );
rs = stmt.executeQuery();
rs.next();
InputStream in = rs.getBinaryStream("PRDIMAGE");
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);
}祝好運
<head><title>无标题文档</title>
</head>
<body><% String id=request.getParameter("id");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:tuku","","");
Statement stm=conn.createStatement(); String sq="select * from img where id="+id; ResultSet rs= stm.executeQuery(sq); ServletOutputStream sout=null;
InputStream in=null; if (rs.next())
{
response.setContentType("image/gif");
sout = response.getOutputStream();
in = rs.getBinaryStream("img");
int len;
byte[] buf = new byte[1024];
while ((len = in.read(buf)) != -1)
{
//sop.write(buf ,0,len);
sout.write(buf ,0,len); }
} sout.flush();
sout.close();
in.close();
rs.close();
stm.close();
conn.close();
}
catch (Exception exc)
{
out.println("An error occurs : " + exc);
}
%></body>
</html>
还有一种就是 clarksub所说的,另外你的服务器测试了mime-mapping没有啊
<%@ page contentType="text/html;charset=UTF-8"%>我刚刚搞定类似的问题!