- PR -

DBから取得した画像データをJSPで表示するには?

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2005/06/03
投稿数: 50
投稿日時: 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/10/19
投稿数: 54
投稿日時: 2005-11-22 16:37
JAVAで画像扱ったこと無いので単なる思い付きですが、
JSP下のディレクトリに画像ファイルとして保存して、JSPのhtml部分の<img>タグから参照させる、と言う方法はできないでしょうか?
米山@クロノス
大ベテラン
会議室デビュー日: 2003/06/10
投稿数: 103
お住まい・勤務地: 大阪市淀川区西中島4-13-22 新大阪淀川ビル5F
投稿日時: 2005-11-22 17:11
こんにちは。米山@クロノスです。

画像がGIF画像なら

response.setContentType("image/gif");
ServletOutputStream out = response.getOutputStream();
out.write(imgBytes);

な感じはどうでしょう。
コード、試してませんが。。。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-11-22 18:27
画像のバイナリの可視化とHTMLの生成(JSP)を同列には扱えません。
画像を表示するには、imgタグが必要です。

JSPでは、
コード:
<img src="画像用のサーブレットのパス?key=hoge">


みたいにimgタグがレンダリングされるようにして、
上記の画像用のサーブレットで米山さんのような
コードを実行すれば実現可能です。

key=hogeの部分とDBのキーを一致させてバイナリを取得するようにすればよいでしょう。
未記入
ベテラン
会議室デビュー日: 2005/06/03
投稿数: 50
投稿日時: 2005-11-22 18:42
ありがとうございました。
OutputStream out = response.getOutputStream();
を使用することで、解決いたしました。
(JPEGでしたがうまく表示されました)



1

スキルアップ/キャリアアップ(JOB@IT)