HTTP标头“内容类型:应用程序/强制下载”对移动设备的效用?
我目前正在开发一个PHP脚本,该脚本允许您通过访问链接从移动设备下载媒体内容(视频,音频,图片等)。(即 http://www.my-web-site.com/download.php?id=7ejs8ap)当我在最近的手机(三星Galaxy S,iPhone 4S,其他一些...)上测试它时,我的脚本非常有效,但是我的旧手机三星C3050上发生了错误。我想下载的媒体只是一个音频mp3文件,我通常很容易下载。
错误显示为“未知内容类型”。因此,由于我唯一的HTTP标头Content-Type是“application/force-download”,因此我尝试对此进行评论并重试。然后,它的工作原理。但是现在,我目前正在询问这种内容类型意味着什么,以及它是否对其他移动设备来说是强制性的。我在iPhone 4上没有Content-Type进行了测试,它可以正常工作,但我不确定这种兼容性适用于所有移动设备。
有人可以解释一下内容类型是如何工作的,为什么这不是一个标准的MIME或其他所有可以帮助我确保这是每次下载的选项性内容类型,无论我正在下载的文件,浏览器或设备是什么?
谢谢大家。
这是我发送的PHP头:
<?php
//Assume that $filename and $filePath are correclty set.
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$filename.'"');
// header('Content-Type: application/force-download'); Non-standard MIME-Type, incompatible with Samsung C3050 for example. Let it commented
readfile($filePath);
?>
编辑:我刚刚尝试使用索尼Xperia,下载不成功:我只看到我想下载的文件的“html编码”字节。如果应用程序/八位字节流或应用程序/强制下载不起作用,我如何知道我必须使用什么内容类型?