- - PR -
DBから取得した画像データをJSPで表示するには?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-11-22 16:24
お世話になります。
表題のとおりDBから取得した画像を表示したいのですが 一体このデータをどういうふうにすればJSPで表示できるのでしょうか? ネットで探しましたがどうもこの手のものは少ないです。 (ネットが恐ろしく遅いこともあり投稿させて頂きました) よろしくお願いいたします。 ----------------------------------------------------------------- PreparedStatement ps = conn.prepareStatement( testSQL ); ResultSet rs = ps.executeQuery(); if (rs != null) { while (rs.next()) { imgBytes = rs.getBytes(1); // ↑このデータをどう工夫してweb画面に表示させたらよいのでしょう? } rs.close(); } ps.close(); } catch (Exception e) { e.printStackTrace(); } %> <% 画像表示のスクリプト %> | ||||
|
投稿日時: 2005-11-22 16:37
JAVAで画像扱ったこと無いので単なる思い付きですが、
JSP下のディレクトリに画像ファイルとして保存して、JSPのhtml部分の<img>タグから参照させる、と言う方法はできないでしょうか? | ||||
|
投稿日時: 2005-11-22 17:11
こんにちは。米山@クロノスです。
画像がGIF画像なら response.setContentType("image/gif"); ServletOutputStream out = response.getOutputStream(); out.write(imgBytes); な感じはどうでしょう。 コード、試してませんが。。。 | ||||
|
投稿日時: 2005-11-22 18:27
画像のバイナリの可視化とHTMLの生成(JSP)を同列には扱えません。
画像を表示するには、imgタグが必要です。 JSPでは、
みたいにimgタグがレンダリングされるようにして、 上記の画像用のサーブレットで米山さんのような コードを実行すれば実現可能です。 key=hogeの部分とDBのキーを一致させてバイナリを取得するようにすればよいでしょう。 | ||||
|
投稿日時: 2005-11-22 18:42
ありがとうございました。
OutputStream out = response.getOutputStream(); を使用することで、解決いたしました。 (JPEGでしたがうまく表示されました) |
1