首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

rails文件下传上载和删除

2012-08-31 
rails文件上传下载和删除 .? br /? % f.text_field :title%? em stylecolor:red% f.error_me

rails文件上传下载和删除 .
? <br />
? <%= f.text_field :title%>
? <em style="color:red;"><%= f.error_message_on :title %></em>
? <br />
? <%= f.label "区域" %>
? <%= f.select :area,options_for_select(SystemUploadfile::Region) %>
? <br></br>
? 选择上传文件:<br/>

? <%= file_field(:system_uploadfile, :file_url)%>
? <em style="color:red;"><%= f.error_message_on :file_url %></em>
? <br/>
? <%= f.submit "提交", :disable_with => '提交中...'%>
<% end -%>

程序中用到的一个方法:

?def upload_file(file,extname,target_dir)
??? if file.nil? || file.original_filename.empty?
????? return false,"空文件或者文件名错误"
??? else
????? timenow = Time.now
????? filename = file.original_filename? #file的名字
????? fileloadname = timenow.strftime("%d%H%M%S")+filename #保存在文件夹下面的上传文件的名称

????? if extname.include?(File.extname(filename).downcase)
??????? #创建目录
??????? #首先获得当前项目所在的目录+文件夹所在的目录
??????? path = Rails.root.join(target_dir,timenow.year.to_s,timenow.month.to_s)
??????? #生成目录
??????? FileUtils.makedirs(path)
??????? File.open(File.join(path,fileloadname),"wb") do |f|
????????? f.write(file.read)
????????? return true,File.join(timenow.year.to_s,timenow.month.to_s,fileloadname)
??????? end
????? else
??????? return false,"必须是#{extname}类型的文件"
????? end
??? end
? end

from:http://blog.csdn.net/xuchao111/article/details/6333605

热点排行