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