C# Windows Azure-在Windows Azure IIS存储中提供未知(mp4)MIME类型

C# Windows Azure-在Windows Azure IIS存储中提供未知(mp4)MIME类型,c#,iis,azure,mime-types,C#,Iis,Azure,Mime Types,我有一个windows azure部署(一个web角色),根据请求将一对视频文件(mov和mp4)从azure存储拉入它自己的本地IIS存储,然后通过浏览器访问 这听起来可能很傻,但我有充分的理由这么做 不幸的是,我无法访问mp4文件。mov很好,但mp4给了我“404-未找到文件或目录” 我已经研究过了,这似乎是因为IIS不会返回未知的文件类型,mp4必须属于这一类。如果它是一个普通的IIS服务器,我将能够注册mp4 mime类型,但我不知道如何在WindowsAzure中进行注册 我可以在R

我有一个windows azure部署(一个web角色),根据请求将一对视频文件(mov和mp4)从azure存储拉入它自己的本地IIS存储,然后通过浏览器访问

这听起来可能很傻,但我有充分的理由这么做

不幸的是,我无法访问mp4文件。mov很好,但mp4给了我“404-未找到文件或目录”

我已经研究过了,这似乎是因为IIS不会返回未知的文件类型,mp4必须属于这一类。如果它是一个普通的IIS服务器,我将能够注册mp4 mime类型,但我不知道如何在WindowsAzure中进行注册

我可以在RDP中手动执行,但这并不实际,因为角色经常被替换,这意味着我每次都需要手动重新执行。必须通过其中一个配置文件或在代码中完成

有人能帮忙吗

谢谢


Steven

您不能在web.config中添加自定义mime类型吗?我刚刚遇到这个链接:

相关的web.config xml是:

<configuration>
   <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".syx" mimeType="application/octet-stream" />
         <mimeMap fileExtension=".tab" mimeType="text/plain" />
      </staticContent>
   </system.webServer>
</configuration>

希望这有帮助。

我使用了以下建议:


要配置mime类型,请在视频文件夹中创建一个包含此内容的新web.config文件:


     
此解决方案仅适用于Azure,本地项目可能不再有效。我的解决方案是对plublication使用“Add Config Transform”,对本地项目使用空的web.Config文件:


右键单击web.config,选择“添加配置转换”:

在web.Release.config文件中,将其添加到de配置标记中:



有关在MP4的MIME类型中播放视频的特定问题的答案


成功了,谢谢。在我问之前,我确实做了很多谷歌搜索,但我一定是用错了搜索词!可以将其添加到app.config而不是web.config吗?为了补充这个非常好的答案,如果您使用react,请按以下方式将此web.config复制到构建文件夹(使用npm react build)(归功于Liviu Costea):谢谢,我起初没有将其添加到同一文件夹中,我只是更新了现有的web.config,但这并没有解决我的问题。现在它工作得很好!
<staticContent>
  <remove fileExtension=".mp4"/>
  <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
  <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
<?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>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
</configuration>
<system.webServer xdt:Transform="Insert">
  <staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
  </staticContent>
</system.webServer>