【问题标题】:How to validate multiple attachments upload size?如何验证多个附件上传大小?
【发布时间】:2016-06-08 18:16:58
【问题描述】:

您好,我正在使用carrierwave 使用其array approach 上传多个文件,但不知道如何验证上传的多个文件的大小。我想到了这样的事情:

post.attachments.each do |a|
puts a.size.to_i
end

然后以某种方式总结并为总大小编写验证。或者也可以在个人层面上执行。

【问题讨论】:

    标签: validation ruby-on-rails-4 file-upload carrierwave


    【解决方案1】:

    所以我终于找到了答案。首先我创建大小数组,然后将其汇总并验证总大小:

    class Post < ActiveRecord::Base
    validate :attachments_size
    
     private
      def attachments_size
        size_array = self.attachments.collect { |e| e.size }
        if size_array.inject(0, :+) > 2.megabytes
          errors.add(:attachments, "should be less than 2MB")
        end
      end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2011-04-12
      • 2012-04-12
      相关资源
      最近更新 更多