dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

rubyのCGIでアップロードされたファイルを読み込む

2011-02-09 22:07:52 | linux
rubyのCGIで、アップロードされたファイルを読み込む方法の備忘録です。

cgi = CGI.new
file = cgi.params['file_name'][0]

file でアップロードされたファイルのデータを扱うことができます。
アップロードされたファイルのサイズが 10240 バイト未満の場合には、StringIO、10240 バイト以上の場合には Tempfile のオブジェクトになります。

もし、両方とも Tempfile で扱いたい場合には、以下のようにして StringIO のデータをTempfile に書き込んでしまえばよいでしょう。

if file.class == StringIO
tf = Tempfile.new
tf.print(file_data.read)
tf.rewind
file = tf
end
この記事についてブログを書く
« formでのファイルのアップロード | トップ | rubyでtsvファイルからxlsフ... »

linux」カテゴリの最新記事