rails 验证上传文件的大小。
1.首先在model中定义方法:
#验证上传文件的大小
#validate :validates_uploadfile
def self.validates_upload_file(file)
Rails.logger.info("验证文件大小。")
max_size = 4096 * 1024
#errors.add(:uploadfile, "File size exceeds limitation")
if file.size > max_size
return true
else
return false
end
end
#validate :validates_uploadfile
def self.validates_upload_file(file)
Rails.logger.info("验证文件大小。")
max_size = 4096 * 1024
#errors.add(:uploadfile, "File size exceeds limitation")
if file.size > max_size
return true
else
return false
end
end
2.在controller中:
file = params[:file]
# 验证文件的大小
if User.validates_upload_file(file)
Rails.logger.info "===============EXCEL表格太大============="
size = file.size.to_f/1024/1024
flash[:error] = "EXCEL文件太大, 文件不能超过4M, 当前文件大小为: #{format("%.2f",size).to_f }M.
<br/> 可能引起文件太大的原因:
<br/> 1.指导员的条数不能超过50条.
<br/> 2.请删除多余空的行和列.
<br/> 3.请严格按照下载的模板列子来填写,*号的一定的填写不能为空."
return redirect_to :back
end