/*
* ====================================================================
*Copyright 2003 iZz Studio, All rights reserved. Design:Ali
*
*文件名:ImageShow.java
*实现功能:读取数据库中存放的二进制图片
*
*最后修改日期:2003-4-6
*/import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import com.ali.sql.*;public class ImageShow extends HttpServlet { private ServletConfig config; public void init(ServletConfig config) throws ServletException {
this.config = config;
super.init(config);
}//////////////////////////////doGet/////////////////////////
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置图片类型头
response.setContentType("image/pjpeg");
SQLForm sqlBean = new SQLForm();
sqlBean.setDatatable("SEXMOVIE");
String sql = "SELECT * FROM "+sqlBean.getDatatable()+" WHERE SEX_ID='"+request.getParameter("id")+"'";
try
{
ResultSet rs = sqlBean.Query(sql);
if (rs.next()){
//获取数据库中的图片流,type有A和B两值,分别对应两个字段FILE_A,和FILE_B
InputStream in = rs.getBinaryStream("FILE_"+request.getParameter("type"));
ServletOutputStream out = response.getOutputStream();//输出流
int len;
byte[] buf=new byte[1024];
//开始输出图片
while ((len=in.read(buf,0,1024))!=-1) {
out.write(buf,0,len);
}
out.flush();
out.close();
in.close();
}
rs.close();
}
catch (SQLException e) {
//DO Some code
}
sqlBean.Close();
}
}
* ====================================================================
*Copyright 2003 iZz Studio, All rights reserved. Design:Ali
*
*文件名:ImageShow.java
*实现功能:读取数据库中存放的二进制图片
*
*最后修改日期:2003-4-6
*/import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import com.ali.sql.*;public class ImageShow extends HttpServlet { private ServletConfig config; public void init(ServletConfig config) throws ServletException {
this.config = config;
super.init(config);
}//////////////////////////////doGet/////////////////////////
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置图片类型头
response.setContentType("image/pjpeg");
SQLForm sqlBean = new SQLForm();
sqlBean.setDatatable("SEXMOVIE");
String sql = "SELECT * FROM "+sqlBean.getDatatable()+" WHERE SEX_ID='"+request.getParameter("id")+"'";
try
{
ResultSet rs = sqlBean.Query(sql);
if (rs.next()){
//获取数据库中的图片流,type有A和B两值,分别对应两个字段FILE_A,和FILE_B
InputStream in = rs.getBinaryStream("FILE_"+request.getParameter("type"));
ServletOutputStream out = response.getOutputStream();//输出流
int len;
byte[] buf=new byte[1024];
//开始输出图片
while ((len=in.read(buf,0,1024))!=-1) {
out.write(buf,0,len);
}
out.flush();
out.close();
in.close();
}
rs.close();
}
catch (SQLException e) {
//DO Some code
}
sqlBean.Close();
}
}
<img src="../servlet/ImageShow?id=<%=rs.getObject("SEX_ID")%>&type=A" width="80" height="100" border="0">
Sql="select * from list order by date desc";
result=DbaObj.ExecuteQuery(Sql);
result.next();
//将数据库中的数据读到流中
InputStream in =result.getBinaryStream("body");
//设置输出的格式
response.reset();
response.setContentType("image/jpeg");
//循环去出流中的数据
byte[] b = new byte[1024];
int len;
while((len=in.read(b)) >0)
response.getOutputStream().write(b,0,len);
in.close();