[Gauche-devel-jp] FileUpload with www.cgi

Back to archive index

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



Gauche-devel-jp メーリングリストの案内
Back to archive index