我正在使用我在http://www.phpclasses.org/package/3220-PHP-Serve-files-for-download-with-resume-support.html找到的下载类让ppl下载mp3文件。
除了Firefox(在所有版本中)之外,它在所有浏览器中都很有用。
当我在firefox中使用此类下载mp3文件时,它会下载没有.mp3扩展名的文件。可能导致这种情况的原因以及如何解决?
答案 0 :(得分:8)
似乎对于使用扩展名保存文件的Firefox,您必须用引号括起文件名。
header('Content-Disposition: attachment; filename="'.$file.'"');
答案 1 :(得分:2)
请再次检查文件名。如果文件下载有1个字符是空格键("") 示例:" template import.xls"。如果没有下载扩展,Firefox将会出错。 您可以使用替换功能("","")来解决asp.net的这个问题:
HttpContext.Current.Response.AddHeader(" content-disposition"," attachment; filename =" + reportName.Replace("",&# 34;&#34));
答案 2 :(得分:1)
没有任何代码,我的猜测是你没有将文件名作为HTTP标头发送:
header("Content-Disposition: attachment; filename=" . $filename);
您还应该发送正确的MIME类型:
header("Content-type: audio/mpeg3");
编辑:没关系,以为我无法在OP的链接下载文件,现在可以看到我错了。该脚本显然正在使用这些方法,只是不确定它是否正确执行。