Ruby on Rails上传文件功能

2017年10月31日 0 条评论 1.51k 次阅读 0 人点赞

Ruby on Rails上传文件功能

如何使用Rails上传文件的功能,在这里给大家介绍一个简便的方法:

使用rails自带的file_field_tag即可

第一步,view中增加:

<%= form_tag({action: :upload}, multipart: true) do %>

#这句的意思是新建一个form表单,链接到controller的upload方法
<%= file_field_tag 'some_file_name' %>
<%= submit_tag 'Submit_button' %>
<% end %>

第二步,controller中增加:

1.上传文件方法

此方法原理是file_field_tag 会给controller返回file对象,此对象可以直接当file调用,直接在后台用ruby的open方法写入即可。

original_filename方法返回文件本身名称

def uploadFile(file)
if !file.original_filename.empty?
#生成一个随机的文件名
@filename = file.original_filename
#向dir目录写入文件
File.open(File.join(__FILE__, "../../../public/upload/#{@filename}"), "wb") do |f|
f.write(file.read)
end
#返回文件名称,保存到数据库中
return @filename
end
end

2.定义好的upload方法

def upload
p file_data = params[:xml_file]
uploadFile(file_data)
end

至此,即可实现非常方便的在rails中进行文件上传操作

 

今从晚向

这个人太懒什么东西都没留下

文章评论(0)

你必须 登录 才能发表评论