From: "ミーム 林 秀樹" Date: 2005-07-26T14:32:44+09:00 Subject: [ruby-list:40936] multipartフォームから受け取ったオブジェクトにstatメソッドでエラー 林と申します。 multipartフォームから受け取った画像ファイルを、 サイズを確認して、保存する処理をしているのですが、 10KB以下のファイルを送信すると、'stat'に対してNoMethodErrorが 出てしまいます。 10KBより大きなファイルだと正常に処理するので、 なにか仕様的な事でしょうか。 どなたか、ご教授お願い致します。 スクリプトは単純で、 require "cgi" cgi = CGI.new file = cgi.params['file'][0] filesize = file.stat.size print "Content-Type: text/html\n\n" print filesize 4行目を処理するときに、10KB以下のファイルだと以下のエラーが出ます。 undefined method `stat' for # (NoMethodError) また、上記処理は大きすぎるファイルをアップロードされないように、 サイズチェックをしているのですが、 (サイズが一定以上だと警告メッセージを表示させています) tempfileオブジェクトとして一旦受け取らないといけないので、 結局サーバーには負担がかかってしまいます。 フォームからバイナリデータを受け取りながら、設定サイズを超えた時点で、 エラー処理に移る方法が採れれば、より安全なのですが、 そのような実装は可能でしょうか。 よろしくお願い致します。