Content-Length标头使浏览器在显示下载弹出窗口之前加载整个文件

我正在下载大文件,并且代码如下:</ p>

 <  code> header('Content-Type:audio / mpeg'); 
header('Content-Length:'。filesize($ path));
header('Content-Disposition:attachment; filename =“test.mp3”' );
echo file_get_contents($ path);
</ code> </ pre>

当我点击此操作的链接时,我必须等待很长时间(似乎浏览器正在加载 在下载弹出窗口显示之前,整个文件在后台)。 然后当我点击保存时,会立即下载。 当我用Content-Length注释掉这一行时,下载弹出窗口会立即显示,但当然不会显示文件大小和百分比。 你有什么想法吗?</ p>
</ div>

展开原文

原文

I am downloading large files, and have code like this:

header('Content-Type: audio/mpeg');
header('Content-Length: ' . filesize($path));
header('Content-Disposition: attachment; filename="test.mp3"');
echo file_get_contents($path);

When I click on a link to this action I have to wait a very long time (seems like browser is loading the whole file in background) before the download popup shows. Then when I click to save, it is downloaded instantly. When I comment out the line with Content-Length, the download popup shows immediately, but of course file size and percentage is not shown. Do you have any ideas?

php
dongshui9690
dongshui9690 我正在使用Chromium43和Firefox39
大约 5 年之前 回复
duanci6484
duanci6484 添加:标题(“Content-Type:application/force-download”);
大约 5 年之前 回复
douye4051
douye4051 你使用的是什么浏览器。我用firefox和chrome测试没问题。
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐