【问题标题】:How to add MIME type with Express如何使用 Express 添加 MIME 类型
【发布时间】:2014-04-05 03:05:48
【问题描述】:

我正在尝试让 Firefox 播放视频标签。通常,我只会将其添加到 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 做到这一点?

【问题讨论】:

    标签: node.js .htaccess express


    【解决方案1】:

    对于 express 4.x,可以在 https://github.com/broofa/node-mime 中找到有关 mime-type 的良好文档。

    例如,Safari 浏览器会显示 csv 的内容,而不是下载 csv <a href="some.csv">download here</a>

    您可以通过添加以下内容来解决此问题

    express.static.mime.define({'application/octet-stream': ['csv']})
    

    【讨论】:

      【解决方案2】:

      有一个可能更好的静态文本文件,称为“mime.types”

      【讨论】:

        【解决方案3】:

        假设它是公共目录中的视频,您可以为此使用static 中间件:

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

        如果您需要更改 mime 表(例如添加或更改扩展名,请执行):

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

        但我认为你列出的所有这些都已经存在了。

        然后对/foo.wav 的请求将使用正确的content-type 标头提供/public/foo.wav,前提是没有其他中间件首先处理该路由。

        【讨论】:

        • express.mime.type 在 express 2.5.11 中不起作用 - mime 未定义。
        • 应该是 express.static.mime.type.define(map) 但是有一个静态文件可以编辑,而不是我刚刚找到的。
        猜你喜欢
        • 2011-08-10
        • 2010-09-07
        • 1970-01-01
        • 2018-10-08
        • 2014-08-12
        • 2019-01-17
        • 2012-01-19
        • 2012-07-07
        • 2015-09-02
        相关资源
        最近更新 更多