问题
I am hosting a static website on a reserved web site in Azure (It is PaaS, no access to OS/IIS). I am trying to add some .mp4 videos but when I click on the links I get
The resource you are looking for has been removed, had its name changed,
or is temporarily unavailable.
Please see example here. If I right click on the link and try to save file I get - Failed - No file.
I am using a paid instance so don't think it is resource issue. The video files are less than 2MB. They have never worked. The site is very static.
Does anyone know how I can resolve this? Should I be hosting MP4 files in some other way?
Thanks,
回答1:
The linked SO answer worked for me conceptually, but it didn't indicate the appropriate fileExtension. My config had to instead indicate the following. (Note, for any who have this question, by default my azure website didn't have a web.config initially, so I had to add the following to a text file, save as web.config, and FTP to my webroot.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".mp4" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
回答2:
Have you confirmed your MIME type for .MP4 is correctly configured, as asked:
Windows Azure - Serve unknown (mp4) MIME types in Windows Azure IIS storage
回答3:
There is only a single way to do this currently, and I confirmed this with the Azure team.
Add a web.config file to the root of the application wwwroot\web.config
with the following contents
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".mp4" mimeType="application/mp4" />
</staticContent>
</system.webServer>
</configuration>
回答4:
I got this exact same problem. The video played on the localhost
but not when deployed to Azure.
ewitkows' answer is correct. The web server isn't returning the proper MIME type, so you need to add them to your web.config's <system.webServer>
element.
However, I'd just like to add one more detail. When you add the code that ewitkows' answer mentions, your website might stop displaying video on localhost
even though it displays correctly on Azure. If you right-click the <video>
HTML element and click the View Video menu command from the context-menu, it will give you a 500 HTTP Status Code, and will display the IIS custom error page for it like so:
Observe the Config Error, Config File and Config Source sections. They tell you that IIS already has a MIME type mapping for the elements you added in the web.config.
<staticContent>
<remove fileExtension=".ogv"/>
<remove fileExtension=".webm"/>
<remove fileExtension=".mp4"/>
<mimeMap fileExtension=".ogv" mimeType="video/ogg"/>
<mimeMap fileExtension=".webm" mimeType="video/webm"/>
<mimeMap fileExtension=".mp4" mimeType="video/mp4"/>
</staticContent>
So, you need to also remove the IIS ones first. Then it will work on both localhost
and also on Azure.
回答5:
Azure Web Apps does not support some types of media files. You could use an Azure Media Service to upload it and later refer the media file from your code.
来源:https://stackoverflow.com/questions/17151819/unable-to-host-mp4-files-on-azure-web-site