2011-09-27 82 views
1

我们已将mp4视频文件上传到我们的Magnolia DMS中,该文件无法在Safari(Mac/iPad)上播放。调查显示,Magnolia返回的内容类型是该请求的“application/octet-stream”。当直接通过Tomcat提供文件时,返回正确的Content-Type“video/mp4”并且视频播放工作。指定Magnolia上传文件的内容类型

我们如何配置Magnolia中返回的内容类型?

我们知道内容类型是请求的一个函数(例如,如果我们在U​​RL中添加“.jpg”,那么返回的类型是“image/jpeg”),但是不能使用这些知识来提出一个办法。

更新:

我们发现的MIME配置和可能改变的Content-Type “MP4” 到 “视频/ MP4”。然而,木兰返回的Content-Type是现在

的Content-Type:视频/ MP4;字符集= UTF-8

而正确的,工作内容类型返回被Tomcat承载的文件是

内容类型:视频/ mp4

是否有可能使Magnolia不附加任何字符集信息的内容类型?

回答

0

很高兴找到了MIME配置OK。

无论是MIME类型和字符编码在ContentTypeFilter.javaMIMEMapping.java设置。您可以通过将其包含在MIME类型定义中来为MIME类型指定一个字符集。 (例如“video/mp4; charset = UTF-8”。)

但是,如果您不包含它,Magnolia会自动分配默认值(在本例中为UTF-8)。如果你想改变这种行为,你需要调整源代码。

出于好奇,charset是否会给您带来麻烦,或者您只是想让Magnolia与默认的Tomcat匹配?

+0

干杯..我们不知道它是否真的引起麻烦,我们只知道,只要我们将mp4上传到Magnolia,就无法在Safari/Mac上播放。 MIME类型明显不同,但在这一点上我们怀疑它的其他内容。 – Tom

+0

你好吗? Magnolia还添加了“Content-Disposition”标题,有时会导致内联内容出现问题。不过,您可以关闭它:http://documentation.magnolia-cms.com/modules/dms.html(请参阅“通过MIME类型禁用内容处理标头”) –

+0

我们通过html5视频标签播放文件。 我们试图关闭每个内容类型和每个路径的“Content-Disposition”,但它仍然位于标题中的“Content-Disposition attachment; filename =”video.mp4“”。 由于ipad上有一些BYTE_RANGE_ERROR_MESSAGE,我们发现Safari/iOS使用HTTP字节范围来请求音频和视频文件。 现在我们猜测Magnolia DMS文件服务不支持此功能,因此流传输失败。 – Tom