【问题标题】:How to get rid of charset on response header in Rails如何摆脱 Rails 中响应标头上的字符集
【发布时间】:2011-06-18 10:40:45
【问题描述】:
我正在尝试制作一个文件下载控制器,但不幸的是,rails 似乎一心不让我从标题中删除字符集
Content-Type: application/x-octet-stream;字符集=utf-8
我尝试过 after_filter、headers['Content-Type']、response.headers['Content-Type'] 等,但无济于事。 UTF-8 不断出现。任何想法为什么会发生以及如何摆脱它?
【问题讨论】:
标签:
ruby-on-rails
header
response
【解决方案1】:
刚刚找到了另一种执行此操作的方法:
head :ok, :content_type => @media.mime_type,
:content_disposition => "attachment;filename=#{@media.filename}",
:x_sendfile => "#{RAILS_ROOT}/data/#{@media.physname}",
:content_transfer_encoding => 'binary'
如果 Content-Transfer-Encoding 设置为二进制,则不再添加字符集。稍微挖掘一下源码后发现了这个。