0

我在 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上下载吗?

4

1 回答 1

0

出于某种原因,Android 浏览器对 HTTP 标头非常挑剔。

此页面将为您提供有关此事的一些见解:http ://www.digiblog.de/2011/04/android-and-the-download-file-headers/

要引用页面的一部分,如果你使用这行代码,它可能不起作用。

Content-Type: application/force-download

该页面还为您提供了一些可能的解决方案。

于 2013-01-02T08:10:08.453 回答