0

.txt ファイルのダウンロードを強制するスクリプトを、Wamp サーバーで実行する PHP で作成しました。スクリプトは次のようになります。

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 に答える