我正在尝试创建一个简单的下载页面,目前在Firefox中工作,但不完全适用于Chrome和Edge。要下载的文件是mp3,位于服务器的私有目录中。
当我在Firefox中下载文件时,它按预期工作。如果我使用Chrome或Edge下载,文件仍然会下载,但它不会识别文件类型,只是将其保存为无扩展文件。
如果我手动添加。mp3扩展名到下载的文件,它是好的,我可以播放轨道。
这些是标题:
header("Cache-Control: private");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename="$filename"");
header("Content-Length: " . filesize($filePath));
//Force download
readfile($filePath);
将'Content-type'更改为'audio/mpeg'也不工作
你可以试试:
header("Content-Disposition: attachment; filename="$title".mp3");
查看标题是否不包含扩展名