【发布时间】:2014-07-31 21:11:40
【问题描述】:
我正在使用 Carrierwave 处理我的文件上传,现在我想添加验证功能,以便用户无法上传 1GB 或类似大小的文件。
现在我已经这样做了:
class Item < ActiveRecord::Base
mount_uploader :image, ImageUploader
validate :file_size
def file_size
errors[:image] << "too big" if self.image.parametres[:size] > 100000
end
end
问题是我感觉这个验证在文件已经处理后有效。在我想上传 30MB 的大文件后,网站卡了几分钟,然后它告诉我文件太大。在我看来,文件已上传到缓存中,然后验证运行。这是不可接受的。
还有其他方法可以运行验证吗?谢谢!
【问题讨论】:
标签: ruby-on-rails validation ruby-on-rails-4 carrierwave filesize