我在sql server裡面放圖片型態是image
現在有個問題
我用jsp要把圖片在網頁上顯示出來…但我沒辦法直接用rs.getString("image")
來顯示出來!會變成一堆16進位碼
請問該怎麼解決啊???
不能這樣搞喔!圖檔跟文字的處理方式是不同的。你用 rs.getString("image") 當然會出現一堆亂碼,因為你正在硬把圖案檔當成文字在處理。
跟強者的概念相同,你得改用 content type 來做,而且圖檔跟文字是不能同時處理的。
sun java forum
這邊有些資料,參考參考。
阿西摩以前有寫過那樣的東西,只是 source code 忘記丟到哪邊去了。如果真的有需要,那在私下 pm 我吧。我再來找看看。
基本上呢,還得先看你資料庫裡面的形態,如果用 byte 形態存取的話,那就直接用下面這樣的方式
RS = stmt.executeQuery(sqlStatement);
RS.getBytes(1);// 取得 byte array
然後可以類似這樣從 servelet 把 image 拋回來。
byte[] imageContent = RS.getByte(1);
response.setContentType("image/jpg");
response.getOutputStream().write(imageContent);
基本上呢,阿西摩不喜歡,也不建議直接在 jsp 上下 sql。安全性差,速度也慢。不僅如此,用 statment 直接 access 很容易就把 db connection 佔滿了。阿西摩提供的這些只是片段 source code 而已。如果真的有需要幫助,在 pm 阿西摩吧。
內文搜尋

X