我有一个网页,通过手机动态下载mp3文件。钻取是动态生成的链接发送到您的移动电话,例如http://mysvr.com/downloads/676877897/,您单击该链接,服务器使用链接参数获取相应的文件,然后将文件提交回浏览器进行下载。
下载在台式机或笔记本电脑浏览器上工作得很好,即弹出下载对话框,点击保存后,继续下载正确的文件。事情很酷。
当我在移动浏览器上尝试相同的链接时出现问题。我得到文本提示下载带有下载链接的文件,但它只下载了16kb的文件,之后我收到一条尖叫的消息“文件格式无效”。
当我尝试从手机直接下载文件链接时,它运行正常!例如http://mysvr.com/ringtones/myfile.mp3,文件效果很好。
以下是我发送的标题。是否缺少移动浏览器所需的东西?提前谢谢。
header("Content-Type: application/force-download");
header('Content-type: audio/mpeg');
header('Content-Description: File Download');
header('Content-Disposition: attachment; filename=' . $mp3);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;