[請教]JSP和SQL SERVER高手

我在sql server裡面放圖片型態是image

現在有個問題

我用jsp要把圖片在網頁上顯示出來…但我沒辦法直接用rs.getString("image")

來顯示出來!會變成一堆16進位碼

請問該怎麼解決啊???
2005-12-31 1:31 發佈
我不會JSP, 不過看你情況應該是忘了指定資料格式...
例如JPG檔, 在印出資料前先丟個header, 如: "Content-type: image/jpeg"
我也不太清楚JSP
加上並不清楚你是怎樣Print出來的.
我只是猜測...你並沒有把資料轉呈image type.
JSP應該有提供把Database裡面的Stream data轉呈image object.
如果JSP沒有build in這東能可能得要網路上找一下.
你是直接把圖檔存在資料庫,然後要跟著文字一起放到網頁上!?

不能這樣搞喔!圖檔跟文字的處理方式是不同的。你用 rs.getString("image") 當然會出現一堆亂碼,因為你正在硬把圖案檔當成文字在處理。

跟強者的概念相同,你得改用 content type 來做,而且圖檔跟文字是不能同時處理的。

sun java forum

這邊有些資料,參考參考。

阿西摩以前有寫過那樣的東西,只是 source code 忘記丟到哪邊去了。如果真的有需要,那在私下 pm 我吧。我再來找看看。
感恩…各位高手的解釋!我再去圖書館找找看好了!謝謝
老爺別這樣,少奶奶會罵!
阿西摩找到了以前寫的 source code, 不過是 servlet 的,有需要的話 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
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?