本文主要是介绍火狐浏览器下载文件 文件名存在空格导致失败解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在使用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). '"');
这篇关于火狐浏览器下载文件 文件名存在空格导致失败解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!