blob中已经成功存放了上传的图片("通过PL/SQL developer工具导出该字段可以看到"),
问题是:我在jsp网页上如何把图片(jpg)显示出来?
我看了以前的帖子:
以下是我的代码,运行后显示的是很多乱码,应该就是这个图片的内容。请问如何才能正确显示?
<%@ page contentType="image/jpeg;charset=GBK"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="java.io.*"%>
<%@ page import="com.sun.image.codec.jpeg.*"%>
<%@ page import="javax.imageio.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.awt.image.*"%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="image/jpeg; charset=GBK">
    <title>showDBImage.jsp</title>
  </head>
  <body>
<%
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@192.168.0.1:1521:oracl";
String user="web";
String password="web";
Connection con= DriverManager.getConnection(url,user,password);
Statement stmt = con.createStatement();
BufferedInputStream inputImage=null;
try{
            String sql="SELECT id,datainfo FROM 多媒体表 where id='1'";
            ResultSet rs=stmt.executeQuery(sql);
            if(rs.next()){
                oracle.sql.BLOB blob=(oracle.sql.BLOB)rs.getBlob("datainfo");
                inputImage =new BufferedInputStream(blob.getBinaryStream());
            }
            BufferedImage image=null;
            image=ImageIO.read(inputImage);
            ServletOutputStream sos=response.getOutputStream();
            JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(sos);
            encoder.encode(image);
            inputImage.close();
        }catch(Exception ex){
           out.println("error = " + ex.toString());
        }
%>
谢谢!
大侠如果有成功运行的代码,请贴出来让我学习下!