gpt4 book ai didi

php - ZIP 文件被 IE 损坏

转载 作者:可可西里 更新时间:2023-11-01 00:04:24 26 4
gpt4 key购买 nike

我正在使用 PHP 中的循环以 64k block 的形式传送 ZIP 文件(但问题会出现在任何服务器端语言中)。

当使用 FF 获取文件时,一切正常。

使用 IE7 获取文件时,某些位会损坏。这会导致有关错误的 CRC(散列)的错误消息,并且一些解压缩的文件最终会被损坏。

发送的 header 如下:

Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Pragma: public
Content-Description: File Transfer
Content-Disposition: attachment; filename="671fb8f80f5e94984c59e61c3c91bb70.zip";
Content-Transfer-Encoding: binary
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/octet-stream

有谁知道这种腐败是从哪里来的吗?

最佳答案

感谢前面的回答,我设法解决了问题:

Apache 的 mod_deflate 将响应编码为 gzip。这在分块发送文件时有两个影响:

  1. Content-Length header 未发送出去
  2. 使用 IE7 时传送的文件已损坏

在 php 中,解决方案是使用以下命令禁用响应的编码:

apache_setenv('no-gzip', '1');

关于php - ZIP 文件被 IE 损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1560075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com