当前位置: 代码迷 >> Web前端 >> blob 二进制变换图片
  详细解决方案

blob 二进制变换图片

热度:736   发布时间:2012-11-09 10:18:47.0
blob 二进制转换图片
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<jsp:directive.page import="net.hlj.sourceCenter.dao.PictureDao"/>
<jsp:directive.page import="net.hlj.sourceCenter.domain.PictureOption"/>
<jsp:directive.page import="oracle.sql.BLOB"/>
<jsp:directive.page import="java.io.InputStream"/>
<jsp:directive.page import="com.linkage.common.BaseAction"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>图片显示</title>
</head>
<%
	  response.reset(); 
  response.setContentType("image/jpeg"); 
  ServletOutputStream outs = response.getOutputStream(); 
  try{ 
  String id = request.getParameter("id"); 
  String imgName = request.getParameter("imgname");

  PictureDao pictureDao=(PictureDao)BaseAction.getBMOManager(
					request, "pictureDao");
  PictureOption p=pictureDao.getPicture(id,imgName);
  BLOB blob =p.getImg();//得到库里的BLOB字段的内容 
  InputStream is = blob.getBinaryStream(); //转换成输入流 
  int blobsize = (int)blob.length(); 
  byte[] blobbytes = new byte[blobsize]; 
  int bytesRead = 0; 
  while ((bytesRead = is.read(blobbytes)) != -1) 
  { 
  	outs.write(blobbytes, 0, bytesRead);//输出图片 
  } 
  is.close(); 
  outs.flush();//清空缓存 
  out.clear(); 
  out = pageContext.pushBody(); 
  
  }catch(Exception ex) 
  {
  	ex.printStackTrace();
  } 
%>
<body>

</body>
</html>

??

1 楼 spp_1987 2010-07-06  
你好,既然图片已经输出,但是在jsp页面  我该怎么去显示呢
用<img src="?"/>
  其他我的就不知道了啊????
2 楼 spp_1987 2010-07-06  
请 指教下  。thank you
3 楼 spp_1987 2010-07-06  
因为我写的项目 不能在jsp页面上写 这个<%%>

  相关解决方案