最近DelphiプログラマのためのCGI入門関連で、ファイルのアップロードに関する質問が立て続けに数多くやってきています。「アップロードプログラムコンテスト」のようなものがあるのでしょうか(^_^)。これをネタにうだうだと書いてみます。CGI関連にもいろいろあって、Windows-CGIならWebサーバが処理してくれるので、アップロードは何も考える必要はありません。今や使う人がほとんどいないかもしれませんが、O'ReillyのWebSiteを使ってみます。File]セクションは次のようになります。[D:\temp\data2.jpg]アップロードされた2つのファイルは、Webサーバがこのiniファイルに書かれている99ws.000と99ws.001というファイル名で自動的に保存します。後は、これらのファイルをアプリケーションで好きなようにすればいいわけです。ISAPIでどうなるかやってみましょ。上と同じようなHTMLファイルを作って(action=の値が異なりますが)、それを処理するプログラムとして、次のようなものを作りました。end;end;これで、小さいJPEGファイルとバイナリファイルをアップロードしてみると、uptest2.txtファイルは次のようになりました。Query-----------------------------72732526810639--というわけで、後は境界で区切られたデータを、それぞれヘッダを切り捨ててファイルに書けば出来上がりです。言いたいところですが、残念ながらRequest.Contentプロパティにデータが入りきらないことがあります。そこで、Request.ReadStringメソッドで残りのデータを読み出します。書いたプログラムは、こんな感じ。本当は、最初にどかっと領域を取っておいて、そこに読み出した方が効率がよいのですが、まあ動くのでよしとしましょう。end;end;ここまでくれば、後はファイルに書くだけです。DelphiプログラマのためのCGI入門のアップロードの節で、ContentFieldに書いているところを、ファイルに書き出すようにすればいいですね。