Windows Azure - Serve unknown (mp4) MIME types in Windows Azure IIS storage
I have a windows azure deployment (a web-role) that on request pulls in a pair of video files (mov and mp4) from azure storage into it's own local IIS storage, which I then access through the browser.
It may sound silly, but I have good reasons for doing this.
Unfortunately, I am unable to access the mp4 files. The mov are fine, but the mp4 give me "404 - File or directory not found."
I've looked into this, and it seems to be because IIS will not retu开发者_C百科rn unknown file types, and mp4 must fall under this category. If it was a normal IIS server I would be able to register the mp4 mime type, but I don't know how to go about this in Windows Azure.
I could RDP in and do it manually, but this would not be practical as the role is replaced frequently and would mean I would need to re-do it manually every time. It must be done through one of the config files or in code.
Can anyone help?
Thanks!!
Steven
Can you not add custom mime type in web.config? I just ran into this link:
http://www.iis.net/ConfigReference/system.webServer/staticContent/mimeMap
The relevant web.config xml is:
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".syx" mimeType="application/octet-stream" />
<mimeMap fileExtension=".tab" mimeType="text/plain" />
</staticContent>
</system.webServer>
</configuration>
Hope this helps.
I used suggestion from https://social.msdn.microsoft.com/Forums/azure/en-US/79eb0c22-fe78-41d6-ac57-03055610b2a8/mp4-media-files-on-azure-website?forum=windowsazurewebsitespreview&prof=required:
<staticContent>
<remove fileExtension=".mp4"/>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
To configure the mime type, create a new web.config file with this content in the video folder:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <staticContent> <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /> </staticContent> </system.webServer> </configuration>
This solution works for Azure only, the local project may no longer work. My solutions is to use "Add Config Transform" for the plublication with an empty web.config file for local project:
<?xml version="1.0" encoding="utf-8"?> <configuration> </configuration>
And when you right click on web.config, select "Add Config Transform":
In the web.Release.config file add this into de configuration tag:
<system.webServer xdt:Transform="Insert"> <staticContent> <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /> </staticContent> </system.webServer>
For the answer to the specific question about playing videos in MIME Type of MP4.
answered here
精彩评论