升级到Firefox 7后,我无法在我的网站上下载通过PHP输出的文件。
一个例子:
假设我有链接http://example.com/download/1返回非常正常的800KB .ZIP文件,其中包含:
header("Content-Type: application/octet-stream");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Disposition: attachment; filename=" .trim($filename). "");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " .filesize($filePath). ")");
readfile($filePath);
flush();
每个可能的浏览器,甚至是旧版本的Firefox,都会像往常一样开始下载文件。 Firefox 7引发“内容错误”。
有没有人注意到类似的行为?任何可能的解决方案?
答案 0 :(得分:3)
)
字段中有一个多余的content-length
。这可能会破坏浏览器从下载中获得的文件大小,并导致错误。
答案 1 :(得分:0)
您似乎在)
标题中有额外的Content-Length
此:
header("Content-Length: " .filesize($filePath). ")");
应该是
header("Content-Length: " .filesize($filePath). "");