微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Nginx的文件RIFF头设置MIME?

我的文件被保存为哈希的名称而没有扩展名。但是我确定它是RIFF文件,如WAV,MP3。如何使用Nginx添加MIME取决于它的RIFF头?

编辑:大部分的文件是MP3格式,所以我使用下面的位置块。

config location /audio/ { #default_type "audio/mpeg"; }

PHP代码显示在源代码

Nginx与redmine作为子Uri不起作用

在MAMP Pro中支持HTTP2

Symfony2与ISPConfig 3和Nginx

Joomla用NginxPHP-FPM加载10秒以上

Puma停止运行在EC2实例上的Rails应用程序与Nginx(使用Capistrano / Capistrano Puma)

Nginx + uwsgi + django,uwsgi好像有些奇怪的caching,帮帮我

用node.jsreplaceNginx来导入大文件

一些有关如何将CRUD应用程序移植到PhalconPHP的初学者问题

Nginx codeigniter 502坏的网关

我怎样才能添加MIME取决于它的RIFF头使用Nginx

你不能。 Nginx不支持检查文件,然后根据内容发送适当的头文件

然而,你可以做几个选择:

1)将请求发送到您的Web服务器,检查代码中的文件,然后使用X-Accel头将header("x-accel-redirect: ".$filenametoProxy);文件发送到Nginx header("x-accel-redirect: ".$filenametoProxy);

这将使Nginx只用很少的处理时间来检查文件就为文件服务。

2)将扩展名保留在文件的URL中,即使它没有扩展名也是如此。 当你提供一个链接一个文件时,你应该保留附加的扩展名,这样用户就可以看到将要提供的文件类型,并且还允许Nginx提供适当的MIME类型。 (我想虽然我还在测试这个)

location ~* /audio/(.*)(wav|mp3|avi|ani) { add_header Content-Type $content_type try_files /audio/$1 }

3)只需将所有文件的扩展名保留。 认真。 为什么要剥离文件的扩展名?

RIFF是一种WAV文件,所以你应该可以使用:

wav audio/wav wav audio/x-wav

那么下面呢? 它不会产生预期的效果吗?

location /audio/ { default_type audio/mpeg; }

还是以下?

location /audio/ { default_type audio/wav; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐