- PR -

Oracle10gでのイメージ(画像)の操作

1
投稿者投稿内容
はにゃ
会議室デビュー日: 2005/08/08
投稿数: 5
投稿日時: 2005-09-01 23:02
Oracle10gを使用して、画像(JPEGなど)をイメージとして保存し、
WEB画面に表示させようと思っています。

通常WEBでは<IMG>タグを使用して、パスを渡しますが、
イメージで持っているため、そのSQLのSELECT方法及び、
WEBへの表示方法を教えて下さい。

Webシステム側ではStrutsを使っているので、
何か使えるタグなどがあれば、それも合わせて教えてくれないでしょうか。

ハツキタツミ
大ベテラン
会議室デビュー日: 2005/05/24
投稿数: 108
投稿日時: 2005-09-02 11:01
Oracleに格納したイメージを、一旦テンポラリなフォルダにテキトーな名前で吐き出して、
これをimgタグで表示すれば、いいのでは?

>Webシステム側ではStrutsを使っているので、
>何か使えるタグなどがあれば、それも合わせて教えてくれないでしょうか。

StrutsのタグでDBのイメージを出力するようなのを期待してる?
だとすれば、”ありません”

#個人的にはイメージデータをDBに格納しようって仕様がいやだな...
#DBはデータを統計的に格納する場所であって、データを放り込む場所じゃない
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2005-09-02 12:52
imgタグで指定するパスにservletを指定しましょう。
「SQLのSELECT方法」は、はにゃさんの担当している
システムの仕様書がないと答えられません。
イメージがBlobのカラムに保存されているなら、
ResultSet#getBlob(int i)
Blob#getBinaryStream()
HttpServletResponse#getOutputStream()
あたりがキーワードではないでしょうか。

Blobクラスのストリームを直接ServletResponseクラスに渡してあげれば、
テンポラリファイルをわざわざ作る必要は無いでしょう。後回収も楽です。
ServletResponse#setContentType(String type)も忘れずに。

Struts的にきれいにまとめるにはこれらの処理をカスタムタグに
してしまうのもよいかもしれません。

#整合性を保って大量の画像を管理する方法としてBlobを使うことは
#私は悪い方法ではないと思ってます。
1

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