我正在为我的客户提供一个压缩文件供下载,它可以在除IE之外的每个操作系统/浏览器中使用。
压缩文件为550 MB。当我使用IE 8时,文件下载50 - 70 MB,然后声称即使原始文件是550 MB,下载也已完成。
我想知道我是否遗漏了一些必需的标题或其他内容。这是我用来提供文件的PHP代码。
<?php
header("Content-type: application/zip");
header("Content-Disposition: attachment; filename=$dnfilename");
header("Content-Length: ".filesize($ZIPFILE));
header("Pragma: no-cache");
header("Expires: 0");
readfile("$ZIPFILE");
?>
答案 0 :(得分:0)
我不知道这是否有帮助,但以下适用于IE8 - 9,Chrome和Firefox使用1.5GB压缩文件。
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$dnfilename."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($ZIPFILE));
readfile($ZIPFILE);
答案 1 :(得分:0)
我在IE7和IE8中遇到了同样的问题。 IE9和其他浏览器工作正常。如果您更改了Content-Type标题,则可以正常工作。
更改
header("Content-type: application/zip");
到
header("Content-type: application/octet-stream");