转载自:http://heisetoufa.iteye.com/blog/227245
关键字: 显示 浏览器 图片
上两篇文章我发的一个是把图片从硬盘存到数据库里,和把图片从数据库里取出来存在硬盘上,这次再发个把图片从数据库里取出来直接显示在浏览器上,而不保存在硬盘上
先贴个在jsp里用的
- <%@ page language="java" pageEncoding="gbk" contentType="image/jpeg" import="java.awt.image.*,java.sql.*,com.sun.image.codec.jpeg.*,java.util.*,javax.imageio.*,java.io.*"%>
- <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
- <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
- <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
- <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html:html lang="true">
- <head>
- <html:base />
- <title>EPhotoDis.jsp</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- <%
- // Create image
- String username,password,url;
- Connection conn = null;
- Statement stmt = null;
- BufferedInputStream inputimage=null;
- username="dzjc";
- password="dzjc";
- url ="jdbc:oracle:thin:@192.168.1.134:1521:zhpt";
- Class.forName("oracle.jdbc.driver.OracleDriver");
- conn=DriverManager.getConnection(url,username,password);
- stmt=conn.createStatement();
- boolean defaultCommit = conn.getAutoCommit();
- conn.setAutoCommit(false);
- try
- {
- ResultSet rs = stmt.executeQuery("SELECT img FROM dzjc_img");
- while (rs.next())
- {
- oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("img");
- inputimage = new BufferedInputStream(blob.getBinaryStream());
- }
- }
- catch (Exception ex)
- {
- System.out.println("blobRead()'s exception"+ex);
- conn.rollback();
- throw ex;
- }
- conn.setAutoCommit(defaultCommit);
- // Send back image
- BufferedImage image = null;
- try
- {
- image = ImageIO.read(inputimage);
- }
- catch(IOException e)
- {
- System.out.println(e);
- }
- ServletOutputStream sos = response.getOutputStream();
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
- encoder.encode(image);
- inputimage.close();
- /*/**/
- %>
- </body>
- </html:html>
<%@ page language="java" pageEncoding="gbk" contentType="image/jpeg" import="java.awt.image.*,java.sql.*,com.sun.image.codec.jpeg.*,java.util.*,javax.imageio.*,java.io.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>EPhotoDis.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
// Create image
String username,password,url;
Connection conn = null;
Statement stmt = null;
BufferedInputStream inputimage=null;
username="dzjc";
password="dzjc";
url ="jdbc:oracle:thin:@192.168.1.134:1521:zhpt";
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(url,username,password);
stmt=conn.createStatement();
boolean defaultCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
try
{
ResultSet rs = stmt.executeQuery("SELECT img FROM dzjc_img");
while (rs.next())
{
oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("img");
inputimage = new BufferedInputStream(blob.getBinaryStream());
}
}
catch (Exception ex)
{
System.out.println("blobRead()'s exception"+ex);
conn.rollback();
throw ex;
}
conn.setAutoCommit(defaultCommit);
// Send back image
BufferedImage image = null;
try
{
image = ImageIO.read(inputimage);
}
catch(IOException e)
{
System.out.println(e);
}
ServletOutputStream sos = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
inputimage.close();
/*/**/
%>
</body>
</html:html>
再来个在action里用的
- package struts.action;
- import java.awt.image.BufferedImage;
- import java.io.BufferedInputStream;
- import java.io.IOException;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import javax.imageio.ImageIO;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts.action.Action;
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.ActionMapping;
- import com.sun.image.codec.jpeg.JPEGCodec;
- import com.sun.image.codec.jpeg.JPEGImageEncoder;
- public class EnrolRushRedLightPhotoManagePhotoDisplayAction extends Action
- {
- public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response)
- {
- // Create image
- String username,password,url;
- Connection conn = null;
- Statement stmt = null;
- BufferedInputStream inputimage=null;
- username="dzjc";
- password="dzjc";
- url ="jdbc:oracle:thin:@192.168.1.134:1521:zhpt";
- try
- {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- try
- {
- conn=DriverManager.getConnection(url,username,password);
- stmt=conn.createStatement();
- boolean defaultCommit = conn.getAutoCommit();
- conn.setAutoCommit(false);
- ResultSet rs = stmt.executeQuery("SELECT img FROM dzjc_img");
- while (rs.next())
- {
- oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("img");
- inputimage = new BufferedInputStream(blob.getBinaryStream());
- }
- conn.setAutoCommit(defaultCommit);
- }
- catch (SQLException e)
- {
- e.printStackTrace();
- System.out.println("blobRead()'s exception"+e);
- try
- {
- conn.rollback();
- throw e;
- }
- catch (SQLException e1)
- {
- e1.printStackTrace();
- }
- }
- }
- catch (ClassNotFoundException e1)
- {
- e1.printStackTrace();
- }
- // Send back image
- BufferedImage image = null;
- try
- {
- image = ImageIO.read(inputimage);
- ServletOutputStream sos = response.getOutputStream();
- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
- encoder.encode(image);
- inputimage.close();
- }
- catch(IOException e)
- {
- System.out.println(e);
- }
- return mapping.findForward("display");
- }
- }