【问题标题】:file_field_tag: only upload zip file less than specific size - RAILSfile_field_tag:仅上传小于特定大小的 zip 文件 - RAILS
【发布时间】:2019-08-19 17:19:24
【问题描述】:

我只想上传小于 100MB 的 zip 文件。在一些资源之后,我提到了size 1,但我不确定它是 1MB、1GB 还是它到底是什么?而且我仍然可以上传任何大小的 zip 文件。

= file_field_tag 'photos_zip_file', accept: '.zip', size: 1

我主要关心的是,是否有办法仅从端代码上传特定大小的文件?

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-5


【解决方案1】:

当您使用 CarrierWave 时,我建议添加验证服务器端。

所以在你的模型中添加:

validate :size_validation

private

def size_validation
  errors[:photo_zip_file] << "should be less than 100MB" if photo_zip_file.size > 100.megabytes
end

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    Carrierwave wiki

    def size_range
      1..100.megabytes
    end
    

    或使用file validator

    validates :photos_zip_file, file_size: { less_than: 100.megabytes }, file_content_type: { allow: 'application/zip' }
    

    【讨论】:

      猜你喜欢
      • 2013-11-03
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 2015-01-20
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 2020-09-15
      相关资源
      最近更新 更多