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());
}
%>
谢谢!
大侠如果有成功运行的代码,请贴出来让我学习下!
问题是:我在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());
}
%>
谢谢!
大侠如果有成功运行的代码,请贴出来让我学习下!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货