Shiro Kawai
shiro****@lava*****
2003年 10月 17日 (金) 17:59:57 JST
From: Makoto Satoh <makot****@yahoo*****> Subject: [Gauche-devel-jp] FileUpload with www.cgi Date: Thu, 16 Oct 2003 09:16:33 +0900 > そこで、RFC1867を実装したいと思うのですが、例えばRubyのCGI.rbだと以下のように使えます。 もともと、rfc.mimeとしてRFC2045-2049を実装して、それを使って multipart/form-dataを実装するつもりでいました。 RFC1867はじっくり読んでいないのですが、ジェネリックなMIMEデコーダが 使えない事情が無ければ、デコーダの部分は兼用するのがいいと思います。 > 上のvalues[0]の4つのプロパティのうち、後の3つは同じ方法 > でいけそう(boundaryごとにデータを取得して、クエリストリ > ングを自前で作る)ですが、アップロードされたファイルの内 > 容をどういうAPIで取れるようにするか、何か良い方法はない > でしょうか? とりあえずの直観としては、cgi-parse-parametersを呼ぶ際か その前に、TYPE=FILEのデータをオンメモリでキープしておくか ローカルディレクトリに置かせるかを何らかのオプションで あらかじめ指定しておき、cgi-get-parameterで何らかの ハンドルを返すのが良いかと思います。ファイルの内容や 他のプロパティはそのハンドル経由で取得すると。TYPE=FILEの 中身はさらにmultipart/mixedである可能性があるので、ハンドルは 抽象化しておいた方がよいでしょうね。 cgi-get-queryは内部手続きですので、返り値を敢えて query string形式に統一する必要はないと思います。 --shiro