nicky

          積水成海,滴水穿石。

          導航

          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統(tǒng)計

          公告

          信心十足

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          struts2+hibernate實現(xiàn)圖片的上傳和顯示

          struts2+hibernate實現(xiàn)圖片的上傳和顯示

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

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

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

              數(shù)據(jù)是網(wǎng)上找的,不保證一定對,做參考吧。

              在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;    //這個對應數(shù)據(jù)庫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,這里就不寫了。主要的是把數(shù)據(jù)存入到數(shù)據(jù)庫。
          1.         byte buffer[]=new byte[(int)bookImg.length()];
          2.         FileInputStream in=new FileInputStream(bookImg);
          3.         in.read(buffer);
          4.         book.setBookImg(buffer);
               bookImg為圖片上傳到本地對應的File實例。

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

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

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

          評論

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

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

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

          ff  回復  更多評論   


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 高清| 海淀区| 亚东县| 唐河县| 景东| 纳雍县| 怀化市| 东乡县| 沙湾县| 贵定县| 黄浦区| 平顶山市| 昔阳县| 大姚县| 呼图壁县| 郑州市| 芒康县| 达日县| 集安市| 闸北区| 淄博市| 奉化市| 上饶市| 望奎县| 五台县| 昌黎县| 凉城县| 夏邑县| 建宁县| 彰化县| 新乐市| 师宗县| 信阳市| 台北市| 香港 | 铜山县| 册亨县| 郑州市| 博客| 弋阳县| 恭城|