【发布时间】:2011-10-17 22:56:59
【问题描述】:
我有一个 CSV 文件。如果文件只包含英文字符,一切正常,文件上传并包含数据。但是,如果文件包含非英文字符,它会上传,但上传的文件是空的。
希望,任何人都可以提供帮助。
更新:
背景: Rails:rails 3.0.9,Ruby:ruby 1.9.2
表格:
<%= form_tag({:action => :import}, :multipart => true) do |f| %>
<%= collection_select(:contact, :list_id, current_user.lists, :id, :title) %>
<%= file_field_tag 'upload' %>
<%= submit_tag("Import") %>
<% end %>
控制器:
def import
begin
Contact.upload(params[:upload], current_user, params[:contact][:list_id])
redirect_to :action => "index"
rescue Exception => e
end
end
型号:
def upload(uploaded_io, user_id, list_id)
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'w') do |file|
file.write(uploaded_io.read)
end
self.import(uploaded_io.original_filename, user_id, list_id)
end
【问题讨论】:
-
如何上传文件?你用的是什么版本的红宝石?
标签: ruby-on-rails ruby file file-upload csv