MIME类型渲染文件下面的代码:在轨
render :file => @somedir + "/blah.xml"
...但由此产生的MIME类型是text/html的时候我在Firebug检查。在这种情况下如何指定MIME类型?
MIME类型渲染文件下面的代码:在轨
render :file => @somedir + "/blah.xml"
...但由此产生的MIME类型是text/html的时候我在Firebug检查。在这种情况下如何指定MIME类型?
看一看here。基本上你需要使用render:xml => blah.to_xml
实际上有两种方式来设置内容类型(我认为这是你的意思是通过MIME类型)。如果它适用于您的Rails版本,您应该使用第二个选项。
class FileController < ApplicationController
def index
filename = 'some.xml'
extname = File.extname(filename)[1..-1]
mime_type = Mime::Type.lookup_by_extension(extname)
content_type = mime_type.to_s unless mime_type.nil?
# 1
#headers['Content-Type'] = content_type
#render :file => filename
# 2
render :file => filename, :content_type => content_type
end
end
希望这会有所帮助!
从文件名/路径MIME :: Types.type_for(“some.xml”)获取MIME类型的替代方法。first.content_type` – 2016-03-21 10:05:43
什么
headers["Content-Type"] = "text/xml"
?希望有所帮助。
render :file => @somedir + "/blah.xml", :content_type => Mime::XML
谢谢,但请求没有扩展名,我认为responds_to使用扩展名来确定格式。我错了吗? – user38684 2008-11-18 21:01:27