- ベストアンサー
画像のUpload
CGIフォームでいろいろな項目をWebサーバー上にCSVで保存して使っています。 今は項目全てテキストなのですが、今度はGIFやJPGデータをCGIフォームでローカルPCのファイルを指定して、Webサーバーにアップロードして保存することは出来るでしょうか。 そのデータをどうするかというと後で 例えば、商品名、特徴、単価などのテキストデータとともに商品の写真なんかも載せるような感じに使いたいのです。 ちなみにPerlです。結構初心者に近いので(CGIフォームからサーバーにCSV保存くらいは自分でコーディングしましたが・・・)あんまり難しい解説は理解できる自信なしです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
CGI.pmはPerl5の標準モジュールなので、お使いのサーバのPerlのバージョンが5以上であれば最初から使える状態だと思います。 このあたりも参考になると思います。 http://www.harukaze.net/~mishima/perl/module/upload_by_CGI_pm.html CGI.pmを使えないのであれば、下記のようなcgi-lib.plを使う方法がよろしいかと。
その他の回答 (1)
- ceita
- ベストアンサー率24% (304/1218)
http://www.i-say.net/cgi/tips_view.php3?id=9 辺りが参考になるでしょうか? 画像BBSのようなスクリプトを参考にすると良いかもしれません。 私でしたら、 画像は参考にした方法でアップロードして、 CSVにはその画像のファイル名を格納しておいて、 表示するときにはHTMLにそのファイル名を入れてあげるようにすると 思います。
補足
私の要求している内容はこれだと思います。ありがとうございます。 ただ、このサイトの利用方法がよくわかりません。 「CGI.pmをここでは利用しています。」ということですがこのモジュールはどこから入手したらよいのでしょう。 また、Perlのコーディングの中のコメント文の「#インスタンスの生成(p102参照)」のp102はこのサイトのどこなんでしょう? >表示するときにはHTMLにそのファイル名を入れてあげるようにすると思います。 私もそうしたいと思っています。
お礼
>CGI.pmを使えないのであれば、下記のようなcgi-lib.plを使う方法がよろしいかと。 cgi-lib.plは、現在テキスト情報のアップロードに使っていますので、なんとなくしっくりきます。こちらの方法でトライしてみます。ありがとうございました。
補足
参考URLの記述そのままでファイルサイズ153KBのGIFファイルで実験してみましたら、 「cgi-lib.pl: Request to receive too much data: 153345 bytes 」 と表示されUploadされませんでした。 でも、とりあえずここまででも大きな収穫です。 とりあえず、この後は別の質問を上げます。 まずはflowermazeさん、ありがとうございました。 ポイントをどうぞ・・・