5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

画像張り付け掲示板

1 :名無しさん@1周年:2000/06/15(木) 11:50
perlCGI板サーバが落ちているので、こちらに書かせていただきます。

画像張り付け掲示板の仕組みをおしえてください。
<input type=file>を使って送るのは分かるんですが、
受ける側はどうなっているのでしょうか。

2 :名無しさん@1周年:2000/06/15(木) 12:38
まず、送信側で
<form method="POST" enctype="multipart/form-data">
としないと駄目。

受信側ではform変数と値、ファイルの名前・内容を
ブラウザが1回ごとに設定するboundaryで区切られた
以下のフォーマットで受信する。

form変数と値
(boundary)\r\n
Content-Disposition: form-data; name="(フォーム変数名)"\r\n
\r\n
(値)\r\n

ファイルの名前と中身
(boundary)\r\n
Content-Disposition: form-data; name="(formの変数名)" filename="(ファイル名)"\r\n
Content-Type: (ファイルのMIMEタイプ)\r\n
\r\n
(データ)
\r\n

boundaryは環境変数content-typeの後ろに記述される。
大体このような内容のようだ。
-----------------------------1234567890a

受け取る順番は送信側のフォームに記述した順番のようだ。
また、受信内容の一番最後にもboundaryが付加される。


3 ::2000/06/15(木) 12:44
\r\n
というのはアスキーコード015@`012の
キャリッジリターンとニューラインのこと。

しかし、perl5には
CGI_Lite.pmというこの手の処理を簡単に出来るモジュールが
標準でついている様なので、わざわざルーチンを組むこともないと思う。


4 :名無しさん@1周年:2000/06/15(木) 23:16
おお、ありがとうございます。
enctype="multipart/form-data"
これが必要だったのですね。
実際ファイルを送ってみてSTDINを見たら、上のようなフォーマットに確かになっていました。
ありがとうございました。モジュールもあたってみます。

2 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)