ruby on rails 文件、图片上传ITeye - AG环亚娱乐集团

ruby on rails 文件、图片上传ITeye

2019年03月13日12时25分35秒 | 作者: 昆皓 | 标签: 文件,上传,图片 | 浏览: 2324

                  rails 4.2.1

曾经做过几回图片,文件上传的功用,可是每次做的时分都要从头想怎么做,汗。。。,仍是记下来吧。

 其他干流上传gem包carrierwave和paperclip

1.在页面增加form表单上传图片或许文件

=form_for :file ,:url= /add_excel do |f|
 =f.file_field :file , :accept = .docx .txt
 =f.submit

 

    在:accept 中能够指定上传文件的类型,不符合后缀名的文件不能够上传,能够拟定多个

 

2.在contrller 里获取文件的拓宽名

File.extname(params[:file][:file].original_filename)

这儿嵌套有点深,并且original_filename不能用[: original_filename]获取,由于params的数据是这样的。

 

Parameters: {"utf8"= "✓", "authenticity_token"= "ZzuhBoEuOH1i4Gp68GrVe57uA3X0dmhMH4SjanDuTJ3TMUbOJhld1+pD7JXtt7urTQUfrdruoTuwrcQZcWWBpw", "file"= {"file"= # ActionDispatch::Http::UploadedFile:0x007fc009933ac0 @tempfile=# Tempfile:/var/folders/ks/tln9bzyj1j15m12mpvtq54wc0000gn/T/RackMultipart20150603-56080-cj4lsy.docx , @original_filename="“吃货”游戏PRD(5月19).docx", @content_type="application/vnd.openxmlformats-officedocument.wordprocessingml.document", @headers="Content-Disposition: form-data; name=\"file[file]\"; filename=\"\xE2\x80\x9C\xE5\x90\x83\xE8\xB4\xA7\xE2\x80\x9D\xE6\xB8\xB8\xE6\x88\x8FPRD\xEF\xBC\x885\xE6\x9C\x8819\xEF\xBC\x89.docx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document\r\n" }, "commit"= "Save File"}

3. 将文件的内容读出来

content = params[:file][:file].read

     

4.把读出来的文件内容写入到指定的文件里

File.open(file_path,wb+) do |item|
 item.write(content)
end

   拼接途径时留意把2.取到的扩展名增加上

   假如文件不存在File.open会先创立再翻开

 5.最终将文件途径存到数据库里便利前台页面展现

 

 

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2
  • 3

    架构师之jdk8ITeye

    字符串,判别,如果
  • 4
  • 5

    Google Onsite 面经ITeye

    一个,空间,变量
  • 6

    《Windows中心编程》ITeye

    窗口,音讯,函数
  • 7
  • 8
  • 9
  • 10