下面是一段JSP代码
<%@ page language="java" import="java.sql.*,java.util.*"%> <%@ page language="java" import="oracle.sql.*"%> <% String image_id ="1"; Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@172.18.16.68:1521:rz817"; //orcl为你的数据库的SID String user="hr_system"; String password="manager"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM tfile WHERE id = " + image_id); java.io.File fileout=new java.io.File("e:/img.jpg"); FileOutputStream op = new FileOutputStream(fileout); int length = 0; if (rs.next()){ String dim_image = rs.getString("filename"); BLOB blocco = (BLOB)rs.getObject("info"); length = (int)blocco.length(); byte [] byte_array = blocco.getBytes(1, length); for(int i=0;i<byte_array.length;i++) { op.write(byte_array[i]); } /* for(int i=0;i<blocco.length;i++){ op.write(blocco[i]); } */ } op.close() ; rs.close(); stmt.close(); conn.close(); %> 此处可取出BLOB的值,如果想让JSP直接显示出图片,用以下的代码: <%@ page import="com.chinsoft.web.ClientAccesss.ClientLanMuAccess"%>
<%@ page import="com.chinsoft.dataplat.access.CommonAccess"%> <%@ page import="java.io.*,java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%> <%@ page import="java.sql.*,java.sql.ResultSet"%> <%@ page import="com.evsoft.file.*" %> <%@ page import="com.evsoft.db.*" %> <%@ page import="com.evsoft.util.*" %> <%@ page import="java.sql.*" %> <% ClientLanMuAccess Access=new ClientLanMuAccess(); int data_num=Access.GetReportMaxID(request.getParameter("FileID")); int intpage = 1; String FileID=request.getParameter("FileID"); if (request.getParameter("page") != null) intpage = Integer.parseInt(request.getParameter("page")); Connection conn=null; ResultSet rs=null; PreparedStatement ps=null; try { conn = new CommonAccess().createConnection(); //ps =conn.prepareStatement( "Select Report_Img from WEB_Report Where Report_ID="+intpage+" and LIEBIAO_ID="+FileID+" ");
ps =conn.prepareStatement( "select report_img from web_report where liebiao_id=15 and report_id=37"); rs = ps.executeQuery(); if (rs != null)
{ System.out.println("sa1"); while (rs.next()) { System.out.println("sa2"); ServletOutputStream sout = response.getOutputStream(); response.setContentType("image/jpeg"); InputStream in = rs.getBinaryStream(1); byte b[] = new byte[0x7a120]; for(int i = in.read(b); i != -1;) { sout.write(b); in.read(b); } in.close(); sout.flush(); sout.close(); } rs.close(); } ps.close(); }
catch (SQLException e) { e.printStackTrace();
} finally { try { System.out.println("err_test_sam!222"); if (rs != null) rs.close(); if (ps != null) ps.close(); if (conn != null) conn.close(); } catch (Exception e) { System.out.println("err_test_sam!000"); } } %> |
|