2012-09-21 28 views
1
def upload 
    uploaded_io = params[:post][:image] 
    File.open(Rails.root.join('app/assets', 'uploads', uploaded_io.original_filename), 'w') do |file| 
     file.write(uploaded_io.read) 
     params[:post][:image] = uploaded_io.original_filename 
    end 
    end 

這對我的OS X上的開發機器工作正常,但是當運行相同的cod eon heroku i我得到一個500錯誤,當我檢查了日誌,這似乎是導致它Encoding :: UndefinedConversionError(「 xB6」從ASCII-8BIT到UTF-8):在heroku上上傳文件時

2012-09-21T16:57:08+00:00 app[web.1]: Encoding::UndefinedConversionError ("\xB6" from ASCII-8BIT to UTF-8): 
2012-09-21T16:57:08+00:00 app[web.1]: app/controllers/posts_controller.rb:86:in `write' 
2012-09-21T16:57:08+00:00 app[web.1]: app/controllers/posts_controller.rb:86:in `block in upload' 
2012-09-21T16:57:08+00:00 app[web.1]: app/controllers/posts_controller.rb:85:in `open' 
2012-09-21T16:57:08+00:00 app[web.1]: app/controllers/posts_controller.rb:85:in `upload' 
2012-09-21T16:57:08+00:00 app[web.1]: app/controllers/posts_controller.rb:61:in `update' 

我無能,怎麼辦

回答

0

我知道已經過了許久,但也許這可以幫助其他人:

你可以嘗試File.open(Rails.root.join('app/assets','uploads',uploaded_io.original_filename),'wb')(wb不只是w)。

相關問題