错误,Ruby on Rails:在CoursesController编码:: UndefinedConversionError#attachment“\ xFF”从ASCII-8BIT到UTF-8

我想在Rails 3.2.8上使用tag_form创建一个简单的文件上传器。
但是当我尝试提交图像文件时,我收到一条错误消息

错误消息(当我尝试提交图像文件时)

在CoursesController#attachment中编码:: UndefinedConversionError
“\ xFF”从ASCII-8BIT到UTF-8

如果你帮我解决这个问题,我会很感激的。
这是我的代码。

应用程序/视图/ show.html.erb

'attachment', :multipart => true) do %> 

应用程序/控制器/ courses_controller.rb

 def attachment t = Time.now.strftime("%Y%m%d%H%M%S") uploaded_io = params[:file] File.open(Rails.root.join('public', 'upload', uploaded_io.original_filename), 'w') do |file| file.write(uploaded_io.read) end end 

配置/ routes.rb中

 resources :courses, :only => [ :show ] do member do post :attachment end end 

尝试以二进制模式打开文件( 'wb'而不是'w' ):

  ... File.open(Rails.root.join('public', 'upload', uploaded_io.original_filename), 'wb') do |file| file.write(uploaded_io.read) end 

Ruby Docs IO开放模式