【问题标题】:Windows Azure - Serve unknown (mp4) MIME types in Windows Azure IIS storageWindows Azure - 在 Windows Azure IIS 存储中提供未知 (mp4) MIME 类型
【发布时间】:2011-06-08 02:32:30
【问题描述】:

我有一个 Windows azure 部署(一个 Web 角色),可根据请求将一对视频文件(mov 和 mp4)从 azure 存储中提取到它自己的本地 IIS 存储中,然后我通过浏览器进行访问。

这听起来可能很愚蠢,但我有充分的理由这样做。

很遗憾,我无法访问 mp4 文件。 mov 很好,但 mp4 给我“404 - 找不到文件或目录。”

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

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

谁能帮忙?

谢谢!!

史蒂文

【问题讨论】:

    标签: c# iis azure mime-types


    【解决方案1】:

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

    http://www.iis.net/ConfigReference/system.webServer/staticContent/mimeMap

    相关的web.config xml是:

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

    希望这会有所帮助。

    【讨论】:

    • 成功了,谢谢。我确实在我问之前做了很多谷歌搜索,但我一定是使用了错误的搜索词!
    • 这个可以添加到app.config而不是web.config吗?
    • 只是为了补充这个非常好的答案,如果您正在使用 react,请通过以下方式将此 web.config 复制到构建文件夹(使用 npm react build )(Liviu Costea 的学分): medium.com/hackernoon/…
    【解决方案2】:

    我使用了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>
    

    【讨论】:

      【解决方案3】:

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

      <?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>
      

      此解决方案仅适用于 Azure,本地项目可能不再适用。我的解决方案是使用“添加配置转换”进行本地项目的空 web.config 文件的发布:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
      </configuration>
      

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

      在 web.Release.config 文件中将这个添加到 de 配置标签中:

      <system.webServer xdt:Transform="Insert">
        <staticContent>
          <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
          <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
        </staticContent>
      </system.webServer>
      

      【讨论】:

      • 谢谢,我一开始没有将它添加到同一个文件夹中,我只是更新了现有的 web.config 并没有解决我的问题。现在效果很好!
      【解决方案4】:

      关于以 MP4 的 MIME 类型播放视频的具体问题的答案。

      answered here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-13
        • 1970-01-01
        • 2013-01-01
        • 1970-01-01
        • 2011-09-18
        • 2015-09-26
        • 2013-09-23
        • 1970-01-01
        相关资源
        最近更新 更多