一千萬個為什麽

搜索

在Rails開發環境中為.ogv文件設置Mime類型

我正在玩HTML5視頻並在ERB中使用以下代碼段:

mp4視頻流從我在開發環境中運行的服務器流入chrome。然而,firefox使用海報圖像顯示視頻播放器,但是有一個大X.問題似乎是mongrel不確定ogv擴展的mime類型,只返回text/plain,如curl所示:

$ curl -I http://0.0.0.0:3000/pr6.ogv
HTTP/1.1 200 OK
Connection: close
Date: Mon, 19 Apr 2010 12:33:50 GMT
Last-Modified: Sun, 18 Apr 2010 12:46:07 GMT
Content-Type: text/plain
Content-Length: 13652587

那麽我在哪裏配置東西以便返回正確的mime類型?我已經嘗試過各種創意搜索答案,但我能找到的最接近的東西是使用Mime :: Type.register然而這似乎只是處理responds_to的東西而且當我嘗試它時沒有任何效果案件。

那電腦設置? Mongrel配置? Rails App配置?不確定在哪裏看,非mime類型的專家。我的開發環境是Mac,Rails 2.3.5。

最佳答案

I had the same problem, and found the solution here: http://9elements.com/io/?p=306

我正在運行rails 2.3.5,所以我將以下代碼放在config/initializers/mime_types.rb中,然後重置我的服務器(我使用WEBrick進行本地開發)

Rack::Mime::MIME_TYPES.merge!({
  ".ogg"     => "application/ogg",
  ".ogx"     => "application/ogg",
  ".ogv"     => "video/ogg",
  ".oga"     => "audio/ogg",
  ".mp4"     => "video/mp4",
  ".m4v"     => "video/mp4",
  ".mp3"     => "audio/mpeg",
  ".m4a"     => "audio/mpeg"
})

現在curl顯示了ogv文件的正確mime類型。

轉載註明原文: 在Rails開發環境中為.ogv文件設置Mime類型