jpe*_*thy 16 ruby-on-rails carrierwave
在我们最新的应用程序中,我们需要处理一些上传,我之前使用过paperclip,一切正常!但是我们试试了载波,它看起来很有希望但是,我找不到如何验证附件的大小,似乎文档没有任何关于它的信息,我们是否应该手动将其添加到模型中通过自定义验证器?
提前致谢!
Flo*_*lov 20
github上有一个Wiki条目:https://github.com/jnicklas/carrierwave/wiki/How-to%3A-Validate-attachment-file-size
我制作了一个Active Model File Validators gem,用于检查Carrierwave,PaperClip,Drangonfly,Refile的内容类型和文件大小验证(希望它可以与其他上传解决方案一起使用).它根据文件的内容检测内容类型,并且具有媒体类型欺骗检测器.它在上传之前和之后都有效.
由于1.0
版本 CarrierWave 具有内置文件大小验证。
安装最新的carrierwave
gem
gem 'carrierwave', '~> 1.0'
Run Code Online (Sandbox Code Playgroud)
添加方法size_range
以提供最小尺寸和最大尺寸
class ImageUploader < CarrierWave::Uploader::Base
def size_range
0..2.megabytes
end
Run Code Online (Sandbox Code Playgroud)
在模型中添加图像validates_integrity_of
的有效文件大小(和内容类型)。
class Image < ApplicationRecord
mount_uploader :image, ImageUploader
validates_integrity_of :image
Run Code Online (Sandbox Code Playgroud)