您的位置:首页 > 其它

火狐浏览器下载文件 文件名存在空格导致失败解决方法

2018-02-28 14:41 621 查看
最近在使用php下载文件的时候(头文件下载方式),发现在谷歌 IE上都可以成功,但是在火狐上出现如下现象:



它没有识别出文件,最后发现是因为文件名存在空格导致的,但是空格是需求必须的,思路是在文件名两边加双引号,所以改代码:

**这个是原来代码:**
header("Cache-Control: max-age=0");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename=' . basename($fileName)); // 文件名
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: binary"); // 告诉浏览器,这是二进制文件
header('Content-Length: ' . filesize($filePath)); // 告诉浏览器,文件大小
@readfile($filePath); //输出文件;


只要修改第三句就行了:

header("Content-disposition: attachment; filename=\"" . basename($fileName). "\"");  // 文件名(加\是为了兼容火狐浏览器)
或者:
header('Content-disposition: attachment; filename="' . basename($fileName). '"');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐