2011-09-27 71 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

相關問題