Ajax客户端如何读取数据库里的图片并显示?
在JAVA里可以用Document添加对象属性的方法把数据库里的图片添加,再通过Servlet发送Document到客户端..在客户端解析XML的方法把图片显示在标签<i...
在JAVA里可以用Document添加对象属性的方法把数据库里的图片添加,再通过Servlet发送Document到客户端..在客户端解析XML的方法把图片显示在标签<img>里...这样可以实现吗?如何实现?
关键是如何实现:
Element 如何取得图片的流,又如何返回给客户端?? 展开
关键是如何实现:
Element 如何取得图片的流,又如何返回给客户端?? 展开
2个回答
展开全部
这是一个JSP显示图片的页面内容
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="login.Login,java.sql.*,java.io.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String workno = request.getParameter("workno");
Login login = new Login();
Connection con = login.conn();
Statement stmt=con.createStatement();
ResultSet rs=null;
String sql = "select photo from rs_photo WHERE workno='"+workno+"'"; //要执行查询的SQL语句
rs=stmt.executeQuery(sql);
while(rs.next()) {
ServletOutputStream sout = response.getOutputStream(); //图片输出的输出流
InputStream in = rs.getBinaryStream(1);
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;) {
sout.write(b); //将缓冲区的输入输出到页面
//in.read(b);
}
sout.flush(); //输入完毕,清除缓冲
sout.close();
}
%>
</body>
</html>
现在你可以在你原始的页面上判断workno是否为空,不为空时就window.open()打开这个页面,就可以把图片显示出来了
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="login.Login,java.sql.*,java.io.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String workno = request.getParameter("workno");
Login login = new Login();
Connection con = login.conn();
Statement stmt=con.createStatement();
ResultSet rs=null;
String sql = "select photo from rs_photo WHERE workno='"+workno+"'"; //要执行查询的SQL语句
rs=stmt.executeQuery(sql);
while(rs.next()) {
ServletOutputStream sout = response.getOutputStream(); //图片输出的输出流
InputStream in = rs.getBinaryStream(1);
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;) {
sout.write(b); //将缓冲区的输入输出到页面
//in.read(b);
}
sout.flush(); //输入完毕,清除缓冲
sout.close();
}
%>
</body>
</html>
现在你可以在你原始的页面上判断workno是否为空,不为空时就window.open()打开这个页面,就可以把图片显示出来了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询