首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >下载*.tar.gz文件会增加文件大小并更改MD5

下载*.tar.gz文件会增加文件大小并更改MD5
EN

Stack Overflow用户
提问于 2014-02-26 23:33:49
回答 1查看 1.5K关注 0票数 2

我需要在网站上提供可下载的*.tar.gz文件。对于每个文件,我预先生成了MD5校验和(并将它们与下载链接放在一起,以便在下载后进行检查)。但是,下载文件后,文件大小和MD5校验和都会更改。

我使用以下PHP头文件等:

header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
header("Content-Type: application/octet-stream");
header("Content-Encoding: binary");
header("Content-Length: ".filesize($filepath.$filename));
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private");
header("Pragma: public");
ob_clean();
readfile($filepath.$filename);

当使用curl直接下载文件时,我得到:

file size: 440875
MD5: f03a0995aec6f2f5f8810b635a6829b8

这是正确的!

然而,当我从网站下载时,我得到:

file size: 2488320
MD5: 953db14625c978e387540b6742121309

这就是问题所在!

我能做些什么来改变这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2014-03-02 06:49:30

当我遇到这个问题时,我正在使用Safari。使用其他浏览器(Chrome和Firefox),我的php头文件运行正常。

在进一步的研究中,我发现Safari必然会出现这样的问题。在这里,我使用php重定向到我提供下载的*.tar.gz文件。使用文件的直接路径链接不会导致任何问题。只有在Safari下,文件才会自动下载和“解压缩”,即删除.gz扩展名并创建一个更大的下载文件( MD5当然不同)。

令我有点失望的是,我测试的所有其他浏览器都做了正确的事情,而只有Safari有这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22046020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档