从数据库提取照片文件显示到前端页面的一种方法

来源:互联网 发布:知源中学 编辑:程序博客网 时间:2024/06/05 00:35

前言:上一篇写了如何从前端页面上传图片文件到mysql数据库,这篇写的就是如何将图片文件从数据库取出来,显示到前端页面

一、图片是以blob的类型存到数据库的,所以在取的时候可以利用rs.getBytes()的方法来提取,如下所示

public class Img{private byte[] bookPicture;public setBookPicture(byte[] bookPicture){this.bookPicture = bookPicture;}public byte[] getBookPicture(){return bookPicture;}}

Img img = new Img();img.setBookPicture(rs.getBytes(5));

在这实例化一个具有bookPicture属性的Img 类, 通过rs.getBytes()方法将blob类型的图片一byte[] 的形式提取出来并调用 img.setBookPicture()设置为Img的属性。

二、下面是通过传来bookid,来将图片显示到一个servlet的方法

package com.bookstore.servlet;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.bookstore.service.FindBookPictureImpl;/** * Servlet implementation class FindBookPictureServlet */@WebServlet("/bookPicture")public class FindBookPictureServlet extends HttpServlet {private static final long serialVersionUID = 1L;    private FindBookPictureImpl fbpi = new FindBookPictureImpl();     public FindBookPictureServlet() {        super();        // TODO Auto-generated constructor stub    }protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubthis.doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubString bookId = request.getParameter("bookId"); //得到bookIdbyte[] bookPicture = fbpi.findBookPicture(Integer.parseInt(bookId)); //获得bookPictureresponse.setContentType("image/jpeg");  //设置图片格式OutputStream out = response.getOutputStream(); //打开输出流out.write(bookPicture);  //输出图片out.flush();//输出out.close();  //关闭输出}}


三、在jsp页面调用图片的方法,

<img src="bookPicture?bookId=bookId(你想访问的图片Id)">, 将img标签的src设置为该servlet的访问名字并加上你想传到这个servlet即你想访问的图片id,你就 可以将你想访问的图片显示到该jsp,并且通过编写其的css来改变其外观(长宽,颜色等)

阅读全文
0 0