在我们的最新应用程序中,我们需要处理一些上传,我之前曾与PaperClip合作,所有内容都可以正常工作!但是我们给了 载波 尝试一下,看起来很有希望,但是我找不到 如何验证附件的大小, ,似乎 文档 没有任何信息,我们应该通过自定义验证器手动将其添加到模型中吗?

提前致谢!

有帮助吗?

其他提示

我做了一个活跃的模型 文件验证器 对载波,纸卷,drangonfly,Repile检查内容类型和文件大小验证的GEM(希望它将与其他上传解决方案一起使用)。它根据文件的内容检测内容类型,并具有介质类型SPOOF检测器。它在上传前后都起作用。

自从 1.0 版本CarrierWave具有内置文件尺寸验证。

安装最新 carrierwave 宝石

gem 'carrierwave', '~> 1.0'

添加方法 size_range 提供最小尺寸和最大尺寸

class ImageUploader < CarrierWave::Uploader::Base
  def size_range
    0..2.megabytes
  end

在型号添加中 validates_integrity_of 有效图像的文件大小(和内容类型)。

class Image < ApplicationRecord
  mount_uploader :image, ImageUploader

  validates_integrity_of :image

这是解决方案 我想到的 - 诀窍是,如果没有上传文件,我无法直接检查文件大小,因为这使得雾红宝石炸弹。我希望有一种更干净的方法来询问运营商是否上传文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top