我试图从我的服务器开始下载zip文件。我使用的服务器使用debian 9.2作为分发,使用nginx 1.13.6(+ libressl)和一个活动的ssl证书。
下载适用于Edge和Firefox,同时将Content-Length
设置为文件大小,但在chrome中使用以下消息设置下载文件:
网络错误失败
$archiveName = $this->m_path . $this->m_file;
ob_start();
header($_SERVER['SERVER_PROTOCOL'].' 200 OK');
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: Binary");
// works now with chrome, but the file is corrupted
// header("Content-Length: ".filesize($this->m_path . $this->m_file));
header('Pragma: no-cache');
header("Content-Disposition: attachment; filename=\"".$archive_name."\"");
ob_flush();
ob_clean();
readfile($this->m_path . $this->m_file);
如果没有Content-Length
,Chrome就可以下载该文件,但该文件已损坏。
感谢您的任何帮助,
问候