我有一个HTTPS网站,我有一个使用标题的下载文件,所以我尝试使用Chrome从Android平板电脑下载它,测试文件只有这个代码:
<?php
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="test.KML"');
header('Content-Transfer-Encoding: binary');
header('Connection: Close');
header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
header('Content-Length: ' . filesize('test.KML'));
echo var_dump(headers_list());
但是从Chrome下载启动但是发出了“noname”文件名,因此下载并没有真正完成...如果我总是在Android上对Firefox进行相同的测试,那么下载正确完成。 因此,我尝试使用Chrome从其他网站获取同一文件非HTTPS,并且下载正常。所以我决定使用chrome:// net-export从Chrome调试下载,我得到了你可以看到的结果:
http://nunzioluigi.com/chrome-net-export-log.json
查看此结果,您是否预计会出现与Chrome错误有关的内容,甚至是服务器的错误HTTPS设置,而该设置不允许通过Chrome HTTPS正确传递文件名?....
提前致谢, 干杯! 路易
答案 0 :(得分:0)
最后,经过一些进一步的调查后,我找到了问题的解决方案。 我必须创建证书并使连接安全,因此从Chrome下载文件可以正确使用filenam。 Lemme猜测可能与不安全的网络连接仅限制Chrome的某些功能。
希望这可以解决同样情况下其他人的问题! 干杯 路易