如何使用Express添加MIMEtypes
我试图让Firefox播放video标签。 通常情况下,我只是将它添加到Apache的.htaccess文件中:
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来做到这一点?
假设它是一个公共目录中的video,您可以使用static
中间件:
app.use(express.static(__dirname + '/public'));
如果您需要更改MIME表(如添加或更改扩展名,请执行):
express.mime.type['ogv'] = 'video/ogg';
但是我想所有你列出的都已经在那里了。
然后,如果没有其他中间件首先处理路由,那么对/foo.wav
请求将使用正确的content-type
头来提供/public/foo.wav
。
有一个可能更好的静态文本文件,称为“mime.types”
对于express 4.x,可以在https://github.com/broofa/node-mimefind有关mime-type的很好的文档。
例如,Safari浏览器将显示 csv的内容,而不是下载带有<a href="some.csv">下载</a>的csv。
你可以通过添加以下来解决这个问题
express.static.mime.define({'application / octet-stream':['csv']})