<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  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 国产av天堂亚洲国产av天堂| 男人的好看免费观看在线视频| 四虎影在线永久免费观看| 亚洲av无码片在线观看| 91成人免费在线视频| 91嫩草亚洲精品| 手机在线免费视频| 亚洲日韩看片无码电影| 免费被黄网站在观看| 国产成人va亚洲电影| 亚洲精品美女久久久久99小说| 一级人做人爰a全过程免费视频| 亚洲成av人在片观看| fc2成年免费共享视频网站| 国产亚洲精品国看不卡| 免费人成在线观看网站| 亚洲综合激情另类小说区| 成人爽A毛片免费看| 美女被免费视频网站| 亚洲日本va在线视频观看| 嫩草成人永久免费观看| 亚洲免费黄色网址| 日韩亚洲国产综合久久久| 中文字幕无码免费久久9一区9 | 亚洲AV无码乱码在线观看| 国产成人精品免费大全| 久久丫精品国产亚洲av不卡 | 日韩国产精品亚洲а∨天堂免| 免费a级毛片网站| 久久免费视频99| 亚洲熟妇成人精品一区| 中文字幕在亚洲第一在线 | 丁香花在线观看免费观看| 亚洲AV日韩AV一区二区三曲| 亚洲人成影院在线观看| 最近中文字幕高清免费中文字幕mv| 亚洲а∨精品天堂在线| 亚洲AV无码成人网站久久精品大| 欧洲精品成人免费视频在线观看| 一级A毛片免费观看久久精品| 中文字幕亚洲综合久久|