我需要通过Apache提供大型MIDI文件,这些文件被预压缩为.mid.gz格式,我终于设法让所有内容类型和内容协商工作到我已经提供压缩MIDI的地步正确的内容类型和编码。我遇到的最后一个障碍是,当我在浏览器中加载文件并尝试在QuickTime中播放时,Quicktime会向我显示一个问号图标,表示它无法播放该文件。
我用Google搜索并发现了这个:
“媒体文件是通过标题中设置的”传输编码:chunked“发送的,并且标题中没有”内容长度“条目。这是因为Apache无法确定文件压缩后的大小,因此,它会将它们分块。各种玩家无法处理分块数据,因此它们会播放第一个块或几个块,假设它们是整个文件。“
1)我的标题中没有分块传输编码。我确实有一个内容长度。那为什么这仍然不起作用?
这是我的标题
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:646
Content-Location:compressed.mid.gz
Content-Type:audio/midi
Date:Sat, 12 Mar 2011 01:36:39 GMT
ETag:"23b8d-286-49e3e12c899e7;49e3f0864a38f"
Keep-Alive:timeout=15, max=100
Last-Modified:Sat, 12 Mar 2011 00:22:27 GMT
Server:Apache/2.2.16 (Ubuntu)
TCN:choice
Vary:negotiate
2)如果即使使用正确的标题,上述点仍然存在,是否有解决此问题的方法?
作为参考,这里是我压缩的MIDI文件的链接: http://174.129.57.199/compressed.mid