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


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


    網站導航:
     
    主站蜘蛛池模板: 国产大片91精品免费观看男同| 国产精品免费大片| 在线播放免费人成视频在线观看| 亚洲成a人不卡在线观看| 亚洲国产精品免费在线观看| 久久亚洲精品无码AV红樱桃| 四虎在线最新永久免费| 亚洲日本在线播放| 女人被男人躁的女爽免费视频| 亚洲欧美国产日韩av野草社区| 大学生美女毛片免费视频| 亚洲6080yy久久无码产自国产| 国产免费拔擦拔擦8x| 免费人成网站永久| 在线亚洲午夜理论AV大片| 日本亚洲欧洲免费天堂午夜看片女人员 | 国产免费丝袜调教视频| 亚洲三级中文字幕| 国产成人啪精品视频免费网| 人人鲁免费播放视频人人香蕉| 亚洲综合精品香蕉久久网| 欧洲人成在线免费| 亚洲色偷精品一区二区三区| 亚洲国产日韩在线观频| 99热在线免费播放| 亚洲日韩AV一区二区三区四区| 免费国产真实迷j在线观看| A国产一区二区免费入口| 亚洲精品视频久久| 免费jjzz在在线播放国产| 免费无码又爽又刺激网站直播 | 无遮挡呻吟娇喘视频免费播放| 久久亚洲高清综合| 国产福利视精品永久免费| 亚洲sm另类一区二区三区| 色噜噜AV亚洲色一区二区| 在线看片v免费观看视频777| 黄色一级视频免费观看| 亚洲综合精品香蕉久久网97| 日本无吗免费一二区| 嫩草在线视频www免费观看|