我只想上传大小小于100MB的zip文件。根据一些资源,我已经提到了size 1
但我不确定它是 1MB、1GB 还是它到底是什么?而且我仍然可以上传任何大小的zip文件。
= file_field_tag 'photos_zip_file', accept: '.zip', size: 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
希望对您有所帮助。
查看 Carrierwave wiki:
def size_range
1..100.megabytes
end
或使用文件验证器
validates :photos_zip_file, file_size: { less_than: 100.megabytes }, file_content_type: { allow: 'application/zip' }