之前的IIS配置中,.mp4類型的文件默認無法訪問,所以個人在IIS7.5的mime類型中增加了.mp4的類型的支持,但問題是需要每台機器中增加這些設置,不利於團隊協作,於是,只好將這些修改體現在代碼上,具體實現方式為:
在站點的web.config中增加了
1
2
3
4
5
6
7
|
<staticContent>
<mimeMap fileExtension=
".mp4"
mimeType=
"video/mp4"
/>
<mimeMap fileExtension=
".m4a"
mimeType=
"video/mp4"
/>
<mimeMap fileExtension=
".m4v"
mimeType=
"video/m4v"
/>
<mimeMap fileExtension=
".ogv"
mimeType=
"video/ogg"
/>
<mimeMap fileExtension=
".webm"
mimeType=
"video/webm"
/>
</staticContent>
|
修改后一直正常運行。
前不久本人的電腦C盤空間不足,折騰多次后,無奈格盤重裝,分給C盤很大的空間,系統也改為64位。今日重新運行該網站,即報錯:
配置錯誤: 在唯一密鑰屬性“fileExtension”設置為“.mp4”時,無法添加類型為“mimeMap”的重復集合項。
怪的是代碼現在仍在他人機器上正常運行,所以百度尋求答案。有雲IIS應用程序池如果是集成模式,改為經典模式即可,但嘗試后沒有效果。
當然google也查了,這次甚為奇怪,google查不到(某些關鍵字又被屏蔽了?)。
這時候才想起來自己解決,看說明,似乎是擴展名的設置重復了嘛。於是刪除該段配置,發現程序正常運行,且對於.mp4文件仍舊支持。
原來是IIS7.5默認的文件擴展支持增多了,而且,更可惡的是百度到的各種解釋,竟然沒有一個說這種解決方法的。
不過,為了與大家的一致,這里加了一段多余的配置:
<staticContent> <remove fileExtension=".mp4" /> <remove fileExtension=".m4a" /> <remove fileExtension=".m4v" /> <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> <mimeMap fileExtension=".m4a" mimeType="video/mp4"/>
…… </staticContent>