现在的位置: 首页 > 综合 > 正文

java读取mysql中保存的图片并显示在jsp上

2013年06月13日 ⁄ 综合 ⁄ 共 1617字 ⁄ 字号 评论关闭
2012-09-03 本文行家:壹博

<%@pageimport="javax.naming.InitialContext"%><%@pageimport="java.sql.Connection"%><%@pageimport="java.sql.Statement"%><%@pageimport="java.sql.ResultSet"%><%@pageimpo

1

<%@page import="javax.naming.InitialContext"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="com.sboss.cowc.czy.db.DBUtil"%>
<%@page import="java.io.BufferedInputStream"%>
<%@page import="java.sql.Blob"%>
<%@page import="java.io.OutputStream"%>
<%@page import="java.io.BufferedOutputStream"%>
<%
    InitialContext ic = new InitialContext();
    Connection con = DBUtil.getConnection();
    Statement st = null;
    ResultSet rs = null;
    BufferedInputStream inputimage=null;
    st=con.createStatement();
    String sql="select source from sourcestab where id=7";
    rs=st.executeQuery(sql);
    st = con.createStatement();
    boolean defaultCommit = con.getAutoCommit();
    con.setAutoCommit(false);
    String photoId = request.getParameter("photo_id");
    try {
        rs = st.executeQuery(sql);
        if (rs.next()) {
            Blob blob = (Blob) rs.getBlob("source");
            long size = blob.length();
            byte[] bs = blob.getBytes(1, (int) size);
            response.setContentType("image/jpeg;charset=GB2312");
            response.setHeader("Content-Transfer-Encoding", "base64");
            OutputStream out1 = response.getOutputStream();
            BufferedOutputStream bos = null;
            bos = new BufferedOutputStream(out1);
            bos.write(bs, 0, bs.length);
            bos.close();
            rs.close();
    out.clear();
    out=pageContext.pushBody();
    inputimage.close();
        } else {
            rs.close();
        }
    } finally {
        con.close();
    }
%>

抱歉!评论已关闭.