nginx之如何使用 Nginx 通过文件 RIFF header 设置 MIME
我的文件使用其哈希名称保存,没有扩展名。但我确定它是 RIFF 文件,如 WAV、MP3。我如何添加 MIME 取决于它使用 nginx 的 RIFF header ?
编辑: 大多数文件是 mp3 格式,所以我使用下面的位置 block 。
config
location /audio/ {
#default_type "audio/mpeg";
}
请您参考如下方法:
How can I add MIME depend on it's RIFF header using nginx?
你不能。 Nginx 不支持检查文件然后根据其内容发送适当的 header 。
不过,您可以采取以下几种选择:
1) 将请求发送到您的网络服务器,检查代码中的文件,然后使用发送 X-Accel header到 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) 只需为所有文件保留扩展名。严重地。你为什么要去掉文件的扩展名?
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。