PHP文件下载无法识别Chrome和Edge中的文件类型

kninwzqo  于 2022-12-25  发布在  PHP
关注(0)|答案(1)|浏览(157)

我正在尝试创建一个简单的下载页面,它目前可以在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);

将“内容类型”更改为**“音频/mpeg '**也不起作用。

hkmswyz6

hkmswyz61#

您是否可以尝试:

header("Content-Disposition: attachment; filename=\"$title\".mp3");

查看标题是否不包含扩展名

相关问题