Reputation: 3771
I'm trying to get Firefox to play a video tag. Normally, I would just add this to an .htaccess file on Apache:
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
How would I do this with Express / NodeJS?
Upvotes: 7
Views: 16444
Reputation: 156
For express 4.x, good documentation on mime-type can be found in https://github.com/broofa/node-mime.
For example, Safari browser would show the content of csv instead of downloading the csv with
<a href="some.csv">download here</a>
.
You can get around this by adding the following
express.static.mime.define({'application/octet-stream': ['csv']})
Upvotes: 6
Reputation: 2505
There is a static text file which is probably better, called "mime.types"
Upvotes: 0
Reputation: 24958
Assuming it's a video in a public directory, you can use the static
middleware for this:
app.use(express.static(__dirname + '/public'));
If you need to alter the mime table (like to add or change an extension, do):
express.mime.type['ogv'] = 'video/ogg';
But I think all the ones you listed are already there.
Then requests to /foo.wav
will serve up /public/foo.wav
with the proper content-type
header, provided no other middleware handles the route first.
Upvotes: 1