nicky

          積水成海,滴水穿石。

          導航

          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          統計

          公告

          信心十足

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          struts2+hibernate實現圖片的上傳和顯示

          struts2+hibernate實現圖片的上傳和顯示

                 這里的上傳是指將圖片上傳到數據庫,顯示是把多張數據庫的圖片顯示在一個jsp文件里。

              圖片在數據庫里面用blob類型表示,在mysql里面blob能夠存儲的大小

           類型  大小(單位:字節)
           TinyBlob  最大 255
           Blob  最大 65K
           MediumBlob  最大 16M
           LongBlob  最大 4G

              數據是網上找的,不保證一定對,做參考吧。

              在hibernate中blob被映射成byte[],下面是例子
          1. public class Book  implements java.io.Serializable {
          2.      private String id;
          3.      private BookChildKind bookChildKind;
          4.      private BookKind bookKind;
          5.      private String bookName;
          6.      private int price;
          7.      private String bookAuther;
          8.      private String bookPublisher;
          9.      private byte[] bookImg;    //這個對應數據庫blob類型的字段
          10.      private Date buyTime;
          11.      private int totalCount;
          12.      private String bookDescribe;
          13.      private int sellCount;
          14. }

              上傳圖片到本地硬盤的過稱我之前的文章寫過了http://blog.csdn.net/zhiweiv/archive/2008/10/16/3085834.aspx,這里就不寫了。主要的是把數據存入到數據庫。
          1.         byte buffer[]=new byte[(int)bookImg.length()];
          2.         FileInputStream in=new FileInputStream(bookImg);
          3.         in.read(buffer);
          4.         book.setBookImg(buffer);
               bookImg為圖片上傳到本地對應的File實例。

               然后是將數據庫里面的圖片讀出來作為img的src顯示出來,原理和以前那個struts2的圖形驗證碼實現相同http://blog.csdn.net/zhiweiv/archive/2008/10/08/3035811.aspx。使用struts2的stream返回img的字節信息作為圖片的src,這里的問題是一個頁面有很多圖片,有一個action提供返回指定id的數據庫記錄的圖片字節流
          1.     public String getImg(){
          2.         Book book=bookDao.get(id);
          3.         inputStream=new ByteArrayInputStream(book.getBookImg());
          4.         return "img";
          5.     }
              但是struts2沒有為img提供包裝的標簽,怎么動態的設置img的src呢??  原來還可以這樣用~~~
          1. <img src="mainPageAction!getImg.action?id=<s:property value="id"/>"/>

              以前我一直不知道原來struts2的標簽還可以這樣用的

          posted on 2009-04-23 15:48 nicky 閱讀(6171) 評論(2)  編輯  收藏

          評論

          # re: struts2+hibernate實現圖片的上傳和顯示 2014-04-11 22:50

          搞了老半天,看了樓主的,這段頓時開竅!謝謝!  回復  更多評論   

          # re: struts2+hibernate實現圖片的上傳和顯示 2014-05-13 19:37 ss

          ff  回復  更多評論   


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


          網站導航:
           
          主站蜘蛛池模板: 墨玉县| 交城县| 游戏| 东乡| 白银市| 吉首市| 宣武区| 临邑县| 区。| 商南县| 涞水县| 扎鲁特旗| 巴楚县| 三江| 沧源| 海安县| 克东县| 竹山县| 潢川县| 武夷山市| 盘锦市| 乳源| 黎平县| 靖安县| 龙井市| 吉隆县| 武平县| 迁安市| 会同县| 正蓝旗| 双柏县| 寻乌县| 小金县| 青海省| 大安市| 齐齐哈尔市| 紫云| 翁牛特旗| 长宁区| 建湖县| 成武县|