张晓华的博客

        2005年,最后一场雪,还是下了,虽然凄凉了一些!
posts - 172, comments - 92, trackbacks - 5, articles - 1

通过Servlet 显示数据库中的图片

Posted on Tuesday, July 04, 2006 4:08 AM

package org.software.factory.archives.servlet;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.SQLException;
 import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.*;
import com.mysql.jdbc.ResultSet;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageDecoder;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

 public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {
  response.setHeader("Cache-Control","no-store");
  response.setContentType("image/jpeg");
  ServletOutputStream out=response.getOutputStream();
  String imagePath=request.getSession().getServletContext().getRealPath("a.jpg");
  InputStream imageIn = new FileInputStream(new File(imagePath));
  ResultSet rs=null;
  Blob BinImg=null;
  InputStream imageFromDatabase=null;
  try {
   BinImg=rs.getBlob("Stu_Photo");
   imageFromDatabase=BinImg.getBinaryStream();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);
  JPEGImageDecoder decoderFromDB = JPEGCodec.createJPEGDecoder(imageFromDatabase);

  BufferedImage image = decoder.decodeAsBufferedImage();
  BufferedImage imageFromDb = decoderFromDB.decodeAsBufferedImage();
  JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
  encoder.encode(image);
  out.close();
   }


 

Post Comment

Title  
Name  
Url
Comment   
Protected by Clearscreen.SharpHIPEnter the code you see: