web-dev-qa-db-ja.com

IIS mimeタイプの設定を無視し、ファイルをアプリケーション/オクテットストリームとして提供

IISのハンドラーとmime-typesの両方をweb.configに追加して、サイトで使用しているさまざまな種類のオーディオファイルとビデオファイルの処理方法をサーバーに指示しました。IISは、これらのmimeタイプを尊重していないようですが、application/octet-stream(「不明な」ファイルタイプのデフォルト)を介してそれらを提供するように戻っています。

ファイルはローカルの開発環境で適切に提供されますが、まったく同じ設定を使用している場合でも、QAサーバーとProdサーバーで提供されます(そしてIIS mime-typesが表示されていることを確認) 、ファイルが正しく機能しません。

進め方について何かアイデアはありますか?基本的なアイデアのほとんどを使い果たし、構成とシステムセットアップを開発からQAまで何度も比較しました。

コード例:

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

どうやら、次のようにlocationタグや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をまったく変更していないようです)。

mp4 mime type in iis GUI

Fiddlerで確認され、.mp4はvideo/mp4のコンテンツタイプで提供されるようになりました(staticContentタグが以前に定義されていたとしても)

1
agrath