回 帖 发 新 帖 刷新版面

主题:[讨论]如何把从数据库读出的图片显示在叶面的某个确定位置

<%@ page contentType = "image/jpeg;charset=GB2312"%>
<%@ page import="java.sql.*"%>

<%@ page import="java.io.*"%>
<%@ page import="com.sun.image.codec.jpeg.*"%>
<%@ page import="javax.imageio.*"%>
<%@ page import="java.awt.image.*"%>

<html>
<head>
<meta http-equiv="Content-Type" content="image/jpeg;charset=GB2312">
<title>showDBImage</title>
</head>
<body>
<%
String showImage ="select * from picture_table where file_name ='02'";
Connection conn = null;
BufferedInputStream inputImage = null;

String driverName = "com.mysql.jdbc.Driver";
       String dbURL = "jdbc:mysql://localhost:3306/sample_db";
       String userID = "root";
       String passwd = "";



try{
     Class.forName(driverName).newInstance();    
    conn = DriverManager.getConnection(dbURL,userID,passwd);

    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery(showImage);
    while(rs.next()){
        Blob blob = (Blob)rs.getBlob("content");
        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(SQLException e)
{
    e.printStackTrace();
}catch(IOException e){
    e.printStackTrace();
}
%>
</body>
</html>
               
上面的代码只可以把图片显示在出来,可是如果我要把他显示在叶面的某个确定位置该如何? 
能给个例子最好了。     
谢谢。            

回复列表 (共2个回复)

沙发

如何把图片显示在固定的位置我没做过,不过可以想象的到,把图片当成字符串,将字符串放到固定的位置就容易解释了,实现的方法很多1分层2网页分隔3表单固定格。。。。我只是路过提一嘴:)希望能对你能有帮助!

板凳

对了,顺便提下,我觉得从server端把整个图片的Binary值完整response到客户端不是很好,本地使用传数据的路径(数据库中存的图片也是图片的path值),internet中传输url值,这样我觉得速度能稍微快点

我来回复

您尚未登录,请登录后再回复。点此登录或注册