诗歌rails之文件上传

1,upload_controller.rb
ruby代码
  1. class UploadController < ApplicationController  
  2.   
  3.    before_filter :configure_charsets  
  4.   
  5.    def configure_charsets  
  6.     @headers["Content-Type"]="text/html;charset=utf-8"  
  7.   end        
  8.   
  9.   def upload  
  10.   end  
  11.   
  12.   def uploadFile(file)  
  13.     if !file.original_filename.empty?  
  14.       @filename=getFileName(file.original_filename)   
  15.       File.open("#{RAILS_ROOT}/public/upload/#{@filename}""wb"do |f|  
  16.       f.write(file.read)  
  17.       end  
  18.       return @filename  
  19.     end  
  20.   end  
  21.   
  22.   def getFileName(filename)  
  23.     if !filename.nil?  
  24.       Time.now.strftime("%Y_%m_%d_%H_%M_%S") + '_' + filename  
  25.     end  
  26.   end  
  27.   
  28.   def save  
  29.     unless request.get?  
  30.       if filename=uploadFile(params[:file]['file'])  
  31.         render :text=>filename  
  32.       end  
  33.     end  
  34.   end   
  35.   
  36. end  
2,upload.rhtml
ruby代码
  1. <h1>Upload File</h1>  
  2.   
  3. <%= form_tag({:action => 'save'}, :multipart => true) %>  
  4. Upload your file: <%= file_field("file""file") %>  
  5. <br/>  
  6. <%= submit_tag("Upload file") %>  
  7. <%= end_form_tag %>  
posted @ 2009-07-16 19:47  麦飞  阅读(369)  评论(0编辑  收藏  举报