我在Wamp Server上运行的PHP上编写了一个脚本,它强制下载.txt文件。该脚本如下所示:
header("Content-Type: application/octet-stream");
$newfile = "data.txt";
header("Content-Disposition: attachment; filename=" . urlencode($newfile));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($newfile));
flush(); // this doesn't really matter.
$fp = fopen($newfile, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush(); // this is essential for large downloads
}
fclose($fp);
此代码运行良好。
但问题是,我已经将我的Android设备连接到PC,并且能够使用任何其他浏览器下载此文件,但不能使用Android默认Web浏览器。
有人知道默认浏览器下载失败的原因吗?但是可以从Android上的其他地方下载吗?
答案 0 :(得分:0)
出于某种原因,Android浏览器对HTTP标头非常挑剔。
此页面将为您提供有关此事的一些见解:http://www.digiblog.de/2011/04/android-and-the-download-file-headers/
引用页面的一部分,如果您使用这行代码,它可能无效。
Content-Type: application/force-download
该页面还为您提供了一些可能的解决方案。