2019独角兽企业重金招聘Python工程师标准>>>  
废话少说代码伺候:
封装好的ImageUtil类:目的读取本地的图片文件并存入数据库,然后读出数据库中以Blob形式存储的图片保存到指定目录。
  1 package org.blog.util;
  2 import java.io.File;
  3 import java.io.FileInputStream;
  4 import java.io.FileNotFoundException;
  5 import java.io.FileOutputStream;
  6 import java.io.IOException;
  7   public   class  ImageUtil {
  8   private   static  File file  =   null ;
  9   /* *
 10  * 读取图像的二进制流
 11  * 
 12  * @param infile
 13  * @return
 14   */ 
 15   public   static  FileInputStream getByteImage(String infile) {
 16  FileInputStream inputImage  =   null ;
 17  file  =   new  File(infile);
 18   try  {
 19  inputImage  =   new  FileInputStream(file);
 20  }  catch  (FileNotFoundException e) {
 21  e.printStackTrace();
 22  }
 23   return  inputImage;
 24  }
 25   /* *
 26  * 输出图片
 27  * @param inputStream
 28  * @param path
 29   */ 
 30   public   static   void  readBlob(FileInputStream inputStream, String path) {
 31   try  {
 32  FileOutputStream fileOutputStream  =   new  FileOutputStream(path);
 33   byte [] buf  =   new   byte [ 1024 ];
 34   int  len  =   0 ;
 35   while  ((len  =  inputStream.read(buf))  !=   - 1 ) {
 36  fileOutputStream.write(buf,  0 , len); //  写 
 37    }
 38  inputStream.close();
 39  fileOutputStream.close();
 40  }  catch  (FileNotFoundException e) {
 41  e.printStackTrace();
 42  }  catch  (IOException e) {
 43  e.printStackTrace();
 44  }
 45  }
 46 } 从数据库中读出二进制流显示到jsp页面:
servlet源码:
  1 package servlet;
  2 import java.io.ByteArrayInputStream;
  3 import java.io.FileInputStream;
  4 import java.io.IOException;
  5 import java.io.InputStream;
  6 import java.io.OutputStream;
  7 import java.io.PrintWriter;
  8 import java.sql.Blob;
  9 import javax.servlet.ServletException;
 10 import javax.servlet.ServletOutputStream;
 11 import javax.servlet.http.HttpServlet;
 12 import javax.servlet.http.HttpServletRequest;
 13 import javax.servlet.http.HttpServletResponse;
 14 import org.blog.util.ImageUtil;
 15 import org.hibernate.Hibernate;
 16   public   class  Image extends HttpServlet {
 17   private   static  final  long  serialVersionUID  =   1L ;
 18  @Override
 19   protected   void  doGet(HttpServletRequest req, HttpServletResponse resp)
 20  throws ServletException, IOException {
 21   this .doPost(req, resp);
 22  }
 23  @Override
 24   protected   void  doPost(HttpServletRequest req, HttpServletResponse resp)
 25  throws ServletException, IOException {
 26   try  {
 27  FileInputStream  in   =  ImageUtil.getByteImage( " D:\\me.jpg " );
 28  Blob blob  =  Hibernate.createBlob( in );
 29  InputStream inputStream  =  blob.getBinaryStream(); //  IO流 
 30    int  length  =  ( int ) blob.length();
 31   byte [] b  =   new   byte [length];
 32  inputStream.read(b,  0 , length);
 33  PrintWriter  out   =  resp.getWriter();
 34  InputStream  is   =   new  ByteArrayInputStream(b);
 35   int  a  =   is .read();
 36   while  (a  !=   - 1 ) {
 37   out .print(( char ) a);
 38  a  =   is .read();
 39  }
 40   out .flush();
 41   out .close();
 42   /* OutputStream outputStream = resp.getOutputStream();// 从response中获取getOutputStream
 43  outputStream.write(b);// 写
 44  inputStream.close();
 45  outputStream.close(); */ 
 46  }  catch  (Exception e) {
 47  System. out .println( " error " );
 48  }
 49  }
 50 } jsp源码:
  1 <% @ page language = " java "  import = " java.util.* "  pageEncoding = " UTF-8 " %> 
  2  <% 
  3 String path  =  request.getContextPath();
  4 String basePath  =  request.getScheme() + " :// " + request.getServerName() + " : " + request.getServerPort() + path + " / " ;
  5  %> 
  6  <! DOCTYPE HTML PUBLIC  " -//W3C//DTD HTML 4.01 Transitional//EN " > 
  7  < html > 
  8   < head > 
  9   < base  href = " <%=basePath%> " > 
 10  
 11   < title > My JSP  ' image.jsp '  starting page </ title > 
 12  
 13   < meta http - equiv = " pragma "  content = " no-cache " > 
 14   < meta http - equiv = " cache-control "  content = " no-cache " > 
 15   < meta http - equiv = " expires "  content = " 0 " >  
 16   < meta http - equiv = " keywords "  content = " keyword1,keyword2,keyword3 " > 
 17   < meta http - equiv = " description "  content = " This is my page " > 
 18   <!-- 
 19   < link rel = " stylesheet "  type = " text/css "  href = " styles.css "  mce_href = " styles.css " > 
 20   --> 
 21   </ head > 
 22  
 23   < body > 
 24   < div style = " border: solid red ; "  mce_style = " border: solid red ; " >   < img src = " image.do "  mce_src = " image.do " ></ div > 
 25   </ body > 
 26  </ html >