Ibm cloud 如何从bluemix应用程序服务mp4

Ibm cloud 如何从bluemix应用程序服务mp4,ibm-cloud,websphere-liberty,Ibm Cloud,Websphere Liberty,我有一个bluemix J2EE应用程序,它使用几个mp4视频剪辑。服务器上存在视频,但无法加载。mp4播放器显示“加载”,但从不显示视频。它们在本地部署的Tomcat实例中正常工作,而不是在Bluemix部署中。我怀疑某个地方有受支持的内容类型配置,需要更新以包括.mp4,但我不确定该配置在哪里。谢谢你的帮助 我强烈建议不要在Bluemix中托管应用程序中的任何大文件。我强烈建议您查看CDN或对象存储服务,例如Bluemix或Openstack Swift中的服务。这背后的原因是应用程序有一个

我有一个bluemix J2EE应用程序,它使用几个mp4视频剪辑。服务器上存在视频,但无法加载。mp4播放器显示“加载”,但从不显示视频。它们在本地部署的Tomcat实例中正常工作,而不是在Bluemix部署中。我怀疑某个地方有受支持的内容类型配置,需要更新以包括.mp4,但我不确定该配置在哪里。谢谢你的帮助

我强烈建议不要在Bluemix中托管应用程序中的任何大文件。我强烈建议您查看CDN或对象存储服务,例如Bluemix或Openstack Swift中的服务。这背后的原因是应用程序有一个文件大小限制。限制在日志文件、中间件(运行时、节点或java等)以及应用程序代码本身。应用程序中有大文件会更快地满足这一限制。目前的限制是1GB,这是Cloud Foundry强加的。

我刚刚破解了一个非常简单的战争来测试这一点。对我来说一切都很好(本地Liberty部署和Bluemix部署)。我不确定您的设备是如何配置的,但以下是我的来源:

WebContent/index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<title>Insert title here</title>
</head>
<body>
Basic HTML file
<p><a href="basicServlet">Basic Servlet</a></p>
<p><a href="basic.mp4">Basic MP4</a></p>
<p><a href="basic.mp3">Basic MP3</a></p>
<p><a href="basic.jpeg">Basic JPEG</a></p>
</body>
</html>

您可以直接访问这些文件吗?我可以在本地Liberty和Bluemix中直接访问它们。我没有使用任何嵌入式视频,因为如果可以提供文件,那么剩下的就是嵌入式视频播放器。

检查mp4文件路径,以及请求mp4文件时在标题上返回的内容类型。如果返回文件时设置错误。 我建议您使用html5视频标签正确设置内容。 如果无限期加载,我怀疑mp4文件路径是错误的。
如果您愿意,粘贴您的网站URL,我们可以检查可能出现的错误

如果它真的很小,它是否有效?我总共有6个文件,大小从76k到732k不等-没有提供任何文件。客户端是否发送范围:request?当您直接请求该文件时,它是否显示了适当的内容类型?它似乎可以在Firefox和Chrome中正常工作,但不能在Safari中正常工作。这些是文档的一部分,共6个mp4。我已经为自定义部署单独打包了它们,但需要它们在参考实现中工作(在Bluemix上)。视频确实占用了很多空间,但是应用程序占用的空间非常小,并且在1Gb的限制范围内。是否有任何方法可以在不向该应用程序添加其他服务的情况下提供此内容?应该可以,您是否设置了内容类型的标题?我不确定您的意思,mp4文件是静态地作为静态网页的一个组件提供的,该静态网页是从J2EE应用程序的web内容文件夹提供的。这不是动态内容,只是文档。有关详细信息,请参阅“概述”视频。这些只是嵌入在文档(静态网页)中的静态视频剪辑。嵌入式视频在Chrome和Firefox中正常工作,但在Safari中却无法正常工作。这里有一些细节。在userguide.html文档中,我有以下标记
,Cut3.mp4存在于
中。defaultServer/apps/idmu/video
package net.wasdev.sample;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/basicServlet")
public class SimpleServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().append("Basic Servlet at: ").append(request.getContextPath());
    }
}