2014-03-03 118 views
5

我試圖讓Firefox播放視頻標籤。通常情況下,我只是將其添加到Apache上的.htaccess文件中:如何在Express中添加MIME類型

AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

AddType audio/mpeg .mp3 
AddType audio/ogg .ogg 
AddType audio/mp4 .m4a 
AddType audio/wav /wav 

我該如何使用Express/NodeJS來做到這一點?

回答

2

假設它是在一個公共目錄中的視頻,您可以使用static中間件這樣的:

app.use(express.static(__dirname + '/public')); 

如果您需要更改MIME表(如添加或更改擴展名,這樣做):

express.mime.type['ogv'] = 'video/ogg'; 

但我想所有你列出的那些已經存在。

然後,請求/foo.wav將提供/public/foo.wav與正確的content-type標頭,只要沒有其他中間件首先處理路由。

+1

express.mime.type沒有按在快車2.5.11工作 - MIME是未定義的。 –

+0

它應該是express.static.mime.type.define(地圖),但有一個靜態文件,您可以編輯,而不是我剛剛找到。 –

0

有一個靜態文本文件,該文件可能是更好的,叫「的mime.types」

0

對於Express 4.x版的MIME類型好的文檔可以在https://github.com/broofa/node-mime找到。

例如,Safari瀏覽器會顯示CSV的內容,而不是下載的CSV與 < A HREF = 「some.csv」>點擊這裏下載</A>。

可以通過添加以下

express.static.mime.define解決這個({ '應用程序/八位字節流':[ 'CSV']})