1

我想在我的 Google App Engine 应用程序中有一个静态 mp4 视频文件。我将它放在“war”文件夹中,并将以下几行添加到我的 appengine-web.xml 文件中:

  <static-files>
      <include path="/**.mp4" />
  </static-files>

不幸的是,当我运行应用程序并在浏览器中输入视频的 URL 时,什么都没有发生。我只是得到一个空白页或前一页保持不变,如果有的话。我没有收到 404 错误。服务器日志清晰。我希望浏览器播放视频或下载它。为什么它不起作用?

我使用的视频文件是 6.35MB。

我还测试了我从互联网上下载的其他一些小视频文件,并确保当它们在原始服务器上时我的浏览器正在播放它们。他们也没有工作。

我上传了 mp3 文件以及 flv 视频文件,它们运行良好。mp3文件由浏览器播放,flv文件由浏览器下载。

问题又来了,为什么我的 Google App Engine 应用程序中不能有静态 mp4 文件?他们被禁止了吗?我的文件是否以某种方式损坏?难道我做错了什么?

编辑:写这个问题时,我只使用谷歌浏览器来测试上传的视频是否有效。我刚刚检查了其他浏览器(Firefox、Opera、Internet Explorer),一切似乎都很好。我也可以用 curl 下载视频文件。事实证明,该问题仅存在于谷歌浏览器中。当我打开它的开发者工具 (F12) 并转到网络选项卡时,我可以看到请求的状态是“(已取消)”。

4

1 回答 1

1

Google Chrome 开发人员工具 (F12) 在 Network 选项卡中显示,响应的 MIME 类型是 application/octet-stream。我想知道这是否可能是 Chrome 无法正确解释并取消它的原因。

我在 web.xml 文件中添加了以下几行,以确保我的视频文件具有正确的 MIME 类型集:

<mime-mapping>
    <extension>mp4</extension>
    <mime-type>video/mp4</mime-type>
</mime-mapping>

现在一切正常。

于 2012-11-01T11:34:58.937 回答