41

我在 Azure 中的保留网站上托管一个静态网站(它是 PaaS,无法访问 OS/IIS)。我正在尝试添加一些 .mp4 视频,但是当我点击我得到的链接时

The resource you are looking for has been removed, had its name changed, 
or is temporarily unavailable.

在此处查看示例。如果我右键单击链接并尝试保存文件,我会得到 - 失败 - 没有文件。

我正在使用付费实例,所以不要认为这是资源问题。视频文件小于 2MB。他们从来没有工作过。该网站非常静态。

有谁知道我该如何解决这个问题?我应该以其他方式托管 MP4 文件吗?

谢谢,

4

6 回答 6

74

链接的 SO 答案在概念上对我有用,但它没有指示适当的文件扩展名。我的配置必须改为指示以下内容。(请注意,对于任何有此问题的人,默认情况下,我的 azure 网站最初没有 web.config,因此我必须将以下内容添加到文本文件中,另存为 web.config,然后通过 FTP 将其添加到我的 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>
于 2014-11-06T18:29:13.747 回答
7

您是否已确认正确配置了 .MP4 的 MIME 类型,如下所示:

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

于 2013-06-18T03:18:45.420 回答
7

目前只有一种方法可以做到这一点,我与 Azure 团队确认了这一点。

将 web.config 文件添加到应用程序的根目录,wwwroot\web.config内容如下

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
    <system.webServer>
      <staticContent>
        <mimeMap fileExtension=".mp4" mimeType="application/mp4" />
      </staticContent>
    </system.webServer>
  </configuration>
于 2019-04-12T16:22:18.640 回答
1

我遇到了同样的问题。该视频在localhost部署到 Azure 时播放,但未播放。

ewitkows 的回答是正确的。Web 服务器没有返回正确的 MIME 类型,因此您需要将它们添加到 web.config 的<system.webServer>元素中。

但是,我只想添加更多细节。当您添加ewitkows 的答案提到的代码时,您的网站可能会停止显示视频,localhost即使它在 Azure 上正确显示也是如此。如果您右键单击<video>HTML 元素并从上下文菜单中单击“查看视频”菜单命令,它将为您提供500 HTTP 状态代码,并将为其显示 IIS 自定义错误页面,如下所示:

在此处输入图像描述

观察Config ErrorConfig FileConfig Source部分。他们告诉您,IIS 已经为您在 web.config 中添加的元素提供了 MIME 类型映射。

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

因此,您还需要先删除 IIS。然后它将适用于两者localhost以及 Azure。

于 2019-10-08T11:16:55.310 回答
0

如果您使用的是 Azure 应用服务,请参阅How to add Mime Types in ASP.NET Core 中的答案 我尝试了 web.config 路由,但它不起作用,但编辑 Startup.cs 确实

于 2020-01-21T16:36:38.387 回答
-1

Azure Web Apps 不支持某些类型的媒体文件。你可以使用 Azure 媒体服务来上传它,然后从你的代码中引用媒体文件。

于 2018-01-04T12:47:06.650 回答