Accept-Length无法获取下载文件大小解决方法

随心笔谈3年前更新 admin
227 0 0

文章摘要

这篇文章讲述了如何在PHP中下载文件时设置正确的header信息。文章提到,在下载文件时,通常会设置`Content-Type`、`Accept-Ranges`、`Accept-Length`和`Content-Disposition`等header信息。其中,`Accept-Length`用于表示文件大小。文章指出,用户之前误用了`Accept-Length`,并遇到了无法获取文件大小的问题。经过进一步探索,发现正确的应该是`Content-Length`,并将其更改为`header("Content-Length: ***");`后,问题得到了解决。文章最终总结了这一发现,并强调了正确使用`Content-Length`的重要性。

php下载文件时,我们一般会加上如下的header信息:

1
2
3
4
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length:".$fileSize); //请用Content-Length
header("Content-Disposition: attachment; filename=".$fileName);

其中header(“Accept-Length:”.$fileSize);是获取文件的大小,并可以返回数据给浏览器展示。

我却遇到怎么也获取不到下载数据大小的问题,虽然不影响正常的功能,但是为了追求完美,我要探个究竟。

Accept-Length无法获取下载文件大小解决方法

最后才发现

1
header("Accept-Length:***");

这其实是一个误导,其实正确的应该是

1
header("Content-Length:***");

修改之后,果然就正确了。

© 版权声明

相关文章