Method: ActFunc::Fileupload.upload

Defined in:
lib/act_func/fileupload.rb

.upload(file, filepath = "", rule = "jpg|xls", minsize = 1, maxsize = 4000) ⇒ Object

file upload params: file->file stream,filepath->file save path,rule->can upload file format(“jpg|xls”),minsize and maxsize->minsize<file’s size<maxsize return: true, result: “new filename” or false, result: “error message”



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/act_func/fileupload.rb', line 6

def Fileupload.upload(file, filepath="", rule="jpg|xls", minsize=1, maxsize=4000)
  result = Fileupload.rule_validata(file, rule, minsize, maxsize)
  if result[:state]
    sname = Fileupload.getname(file, filepath)
    begin
      unless Dir::exist?(filepath)
        unless system("mkdir -p #{filepath}")
          return {state: false, result: "目录创建失败,请于管理员联系"}
        end
      end
      File.open(filepath+sname, "wb") do |f|
        f.write(file.read)
      end
      return {state: true, result: sname}
    rescue
      return {state: false, result: "写入文件失败:#{$!}"}
    end
  else
    return {state: false, result: result[:message]}
  end
end