IIS 忽略 mime 类型设置并将文件作为应用程序/八位字节流提供

IIS 忽略 mime 类型设置并将文件作为应用程序/八位字节流提供

我们在 web.config 中为 IIS 添加了处理程序和 mime 类型,以告诉服务器如何处理我们在网站上使用的不同类型的音频和视频文件。IIS 似乎不尊重这些 mime 类型,而是恢复通过 application/octet-stream 为它们提供服务(这是“未知”文件类型的默认设置)。

这些文件在本地的开发环境中可以正确提供,但在 QA 和 Prod 服务器上,即使使用完全相同的设置(并通过在 IIS 中检查是否显示了 mime 类型来验证),这些文件也无法正确提供。

有什么想法可以继续吗?我们已经用尽了大部分基本想法,并多次比较了从开发到 QA 的配置和系统设置。

代码示例:

<remove fileExtension=".mp4" />`
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />`

答案1

显然,您无法在位置标记中甚至在 web.config 中覆盖此功能,如下所示:

<staticContent>
  <mimeMap fileExtension="woff" mimeType="application/x-font-woff" />
  <remove fileExtension="ogg"/>
  <remove fileExtension="mp4"/>
  <remove fileExtension="webm"/>
  <mimeMap fileExtension="ogg" mimeType="video/ogg" />
  <mimeMap fileExtension="webm" mimeType="video/webm" />
  <mimeMap fileExtension="mp4" mimeType="video/mp4" />
</staticContent>

相反,我必须在 GUI 中的 mime 类型下添加 .mp4(这似乎根本没有改变 web.config)作为本地定义:

iis GUI 中的 mp4 mime 类型

经 fiddler 确认,.mp4 现在提供的是 video/mp4 内容类型(尽管之前已定义 staticContent 标签)

相关内容