[pgsql-jp: 25944] Re: 画像ファイルの取り込み&表示

Shinobu TAKANASHI sino @ e-turi.net
2002年 5月 14日 (火) 21:33:14 JST


高梨@CLUG といいます。

既に他の方(川合さん)からもご回答がありますが、こちらにリプライ
させていただきます。

On Tue, 14 May 2002 17:09:33 +0900
"Kazuichi NOMURA" <nomura @ pd.xdsl.ne.jp> wrote:

> 例えば、会員名簿に各会員の顔写真を付すとして、データベースに写真を取り込みそ
> れを表示させる場合に就いて、その方法はどういう仕組みになっているのか教えてく
> ださい。基本的な考え方が分かっていないので、その辺をご理解の上ご教示くださ
> い。
> 1.写真などの画像ファイルをデータベースにインサートすると言うことは出来るの
> でしょうか?

これは川合さんもおっしゃっているように可能です。
が、私としては DB 内にこの手のデータを格納するには large object 型と
いうのを使うのが自然かなぁと思います。
# pg_dump でバックアップが取れないのが難点ですが。

> 2.データベースにインサートした写真を、例えばSELECT文を用いて会員の他の文字
> データと共に表示させるにはどうするのでしょうか?
> 
> 通常作業するターミナルに画像が表示されないのは想像できるので、ブラザを使って
> 表示する場合、仮にデータベースに画像のファイル名だけをインサートして画像ファ
> イルは別なフォルダに格納しておいて、そのフォルダの中の画像にリンクをはって表
> 示させると言うことは可能ではないかと想像しています。

おっしゃりたいことは分りますが、こういう場合に「リンクをはる」とは
あまり言いません。(^^; 正確には「画像のありか(URL)を指定する」かな。

> しかしながらその場合、HTMLのファイルに画像のファイル名やフォルダ名を
> いちいち個別に入力しなければならないのでしょうか?そうなると、画像を
> 含めたデータの自動的な表示にはならないと思います。

ですので、そのような場合は画像ファイルをヘッダ付きで出力する CGI なり
PHP スクリプトなりを作り、その URL を <IMG> タグの SRC 属性で指定しま
す。で、そのスクリプトには GET 形式で画像ファイルを特定できるような値
を渡すわけですね。以下のような感じです。

  <IMG SRC="imageview.cgi?person=sino">
                                 ~~~~
もちろん、このタグが含まれる HTML 自体も下線部が動的に生成される必要
があります。

> また、ブラザから画像ファイルをデータベースに登録しようとする場合、データベー
> スにファイル名だけを登録するとした場合、画像ファイル自体は別途所定のフォルダ
> に入れる作業をしなければならないのでしょうか?

はい、その通りです。その場合(ファイル名だけを登録する場合)には FTP
などで別途画像を *ファイルとして* Web サーバに置く必要があります。
ブラウザからファイルをアップロードすることはできますが、それはそれ
なりのプログラムを書く必要があります。

結論としては、ブラウザに氏名などの文字データと顔写真を同時に表示す
るようなシステムを作る場合、

  * 文字データをHTMLとして表示するプログラム
  * 画像を出力するプログラム

の 2 種類が最低必要になります。確かにブラウザベースでシステムを作る
場合、こういう点が分りにくいですね。
--
高梨  忍 / Shinobu TAKANASHI <sino @ e-turi.net>
[日記頁] http://fishdot.jp/~sino/ruby-diary/



pgsql-jp メーリングリストの案内