我提到了这些问题并实施了他们的答案,但没有一个对我有用。
download mp3 instead of playing in browser by default?
content type for mp3 download response
download mp3 from web url with android failed
基本上,当用户点击网站上的下载链接时,我们希望系统提示用户下载音频文件。
代码:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: $mtype");
header("Content-Disposition: attachment; filename=".$file_name);
readfile($fname);
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $fsize);
此处$mtype
为"audio/mpeg"
成功:
失败:
<untitled>
并显示状态"download unsuccessful"
。 如果您知道为什么此代码无法在Android手机上运行,请相信。
答案 0 :(得分:0)
遇到同样的问题,可能是你的服务器不允许你正确使用mp3文件(我使用Biz.nf)
答案 1 :(得分:0)
我刚刚找到了这个问题的解决方案。在我的机器人小米上它完美无缺。
if (file_exists($file)) {
echo "OK";
if (ob_get_level()) {
ob_end_clean();
} // clearing output script buffer
$mime_type = "audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3";
header('Content-Description: File Transfer');
header('Content-Type: {$mime_type}');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);