Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Safari 指定在Magnolia中上载的文档的内容类型_Safari_Content Type_Mp4_Magnolia - Fatal编程技术网

Safari 指定在Magnolia中上载的文档的内容类型

Safari 指定在Magnolia中上载的文档的内容类型,safari,content-type,mp4,magnolia,Safari,Content Type,Mp4,Magnolia,我们已将mp4视频文件上传到我们的Magnolia DMS中,但无法在Safari Mac/iPad上播放。调查显示,Magnolia返回的内容类型是请求的应用程序/八位字节流。直接通过Tomcat提供文件时,返回正确的内容类型video/mp4,视频播放正常 我们如何配置在Magnolia中返回的内容类型 我们知道内容类型是请求的函数,例如,如果我们将.jpg添加到URL,返回的类型是image/jpeg,但无法利用这一知识提出解决方案 更新: 我们找到了MIME配置,可以将mp4的内容类型更

我们已将mp4视频文件上传到我们的Magnolia DMS中,但无法在Safari Mac/iPad上播放。调查显示,Magnolia返回的内容类型是请求的应用程序/八位字节流。直接通过Tomcat提供文件时,返回正确的内容类型video/mp4,视频播放正常

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

我们知道内容类型是请求的函数,例如,如果我们将.jpg添加到URL,返回的类型是image/jpeg,但无法利用这一知识提出解决方案

更新:

我们找到了MIME配置,可以将mp4的内容类型更改为video/mp4。但是,Magnolia返回的内容类型现在是

内容类型:视频/mp4;字符集=UTF-8

而Tomcat托管的文件返回的正确的工作内容类型是

内容类型:视频/mp4


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

很高兴您发现MIME配置正常

MIME类型和字符编码都在ContentTypeFilter.java和MIMEMapping.java中设置。通过将MIME类型包含在MIME类型定义中,您可以自己为MIME类型指定字符集。例如,视频/mp4;字符集=UTF-8

但是,如果不包括一个,则在本例中,Magnolia会自动指定默认值UTF-8。如果你想改变这种行为,你需要调整源代码


出于好奇,这个字符集是否给您带来了麻烦,或者您只是想让Magnolia与Tomcat默认的功能相匹配?

干杯。。我们不知道是否真的是那个字符集造成了麻烦,我们只知道一旦我们将mp4上传到Magnolia,它就无法在Safari/Mac上播放。最明显的区别是MIME类型,但在这一点上,我们怀疑它是另一种类型。你是怎么玩的?Magnolia还添加了一个内容处置头,它有时会导致内联内容出现问题。不过,您可以将其关闭:请参阅按MIME类型禁用内容处置头我们通过html5视频标记播放文件。我们试图关闭每个内容类型和每个路径的内容配置,但它仍保留在内容配置附件中;标题中的filename=video.mp4。经过进一步研究,由于ipad上出现了一些字节范围错误消息,我们发现Safari/iOS使用HTTP字节范围来请求音频和视频文件。现在我们猜测Magnolia DMS文件服务不支持此功能,因此流式传输失败。啊,没错。Magnolia目前不支持字节范围请求。我已经在Jira中添加了一张票,以便添加:刚刚检查,问题现在已经解决