1

我有一个网页,可以通过手机动态下载 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;
4

0 回答 0