[Rails] File.size() on Uploaded Images Fail

Jeff Ward
Mon, 29 May 2006 21:18:20 -0000

I am checking the file size of an uploaded file and storing it in a filesize
column. It will work just fine when the user uploads any files other than
images (jpg,png,gif).

Word, Excel, Powerpoint, .zip and more all work fine.

This is my model asset.rb that handles the file upload.

   def newfile=(newfile_field)
    self.filename = base_part_of(newfile_field.original_filename)
    self.filetype = newfile_field.content_type.chomp
    self.filesize = File.size(newfile_field) ### It fails on this line for
images...
  end

The error I get is: "can''t convert StringIO into String"

I''m sure there''s an easier method/property to get the file
size of the
uploaded file. Like, reading the HTTP headers?

How do they get the file size in the validator?
validates_filesize_of :field, :in => 15.kilobytes..1.megabyte

Thanks for any leads,

Jeff
-------------- next part --------------
An HTML attachment was scrubbed...