<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    迷失北京

    BlogJava 聯系 聚合 管理
      60 Posts :: 0 Stories :: 13 Comments :: 0 Trackbacks

          廢話少說代碼伺候:

    封裝好的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>


    posted on 2011-04-30 20:33 王康 閱讀(15675) 評論(1)  編輯  收藏

    Feedback

    # re: java以Blob形式存儲,讀取圖片并在jsp頁面顯示圖片流 2014-06-16 09:47 4w5t6
    gd th  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 男女超爽刺激视频免费播放 | 男人的好看免费观看在线视频| 精品国产亚洲男女在线线电影| 亚洲欧美乱色情图片| 免费看美女裸露无档网站| 亚洲精品在线播放视频| 67pao强力打造国产免费| 亚洲最大成人网色| 亚洲美女免费视频| 久久精品国产亚洲αv忘忧草| 色老板亚洲视频免在线观| 亚洲高清视频免费| 亚洲一卡二卡三卡| 性盈盈影院免费视频观看在线一区| 亚洲小视频在线播放| 免费观看黄网站在线播放| 亚洲欧美日韩国产成人| 亚洲av无码成人精品区| 亚州**色毛片免费观看| 人人狠狠综合久久亚洲婷婷| 免费的全黄一级录像带| 337p日本欧洲亚洲大胆色噜噜| 久久精品免费一区二区| 中文字幕无码精品亚洲资源网久久| 成人激情免费视频| 一级毛片a免费播放王色| 精品女同一区二区三区免费站| 亚洲影视一区二区| 成人国产mv免费视频| 国产精品美女免费视频观看| 亚洲VA中文字幕无码毛片| 91人成网站色www免费下载| 亚洲熟妇AV乱码在线观看| 99免费在线观看视频| 亚洲人成www在线播放| 国产亚洲福利一区二区免费看| 中文字幕不卡免费视频| 久久亚洲AV无码精品色午夜 | 亚洲男人的天堂在线va拉文| 三年片在线观看免费大全电影| 亚洲色偷偷色噜噜狠狠99|