0
下面的代碼在桌面瀏覽器(Chrome,FF)上正常工作,但是當從Android移動設備(HTC Evo,Galaxy S)設備執行時,該文件將被下載但空。我已經添加了下面一行到我的.htaccess文件...從PHP文件下載到Android移動設備時爲空。
AddType application/vnd.android.package-archive .apk
...和下載作品,如果我直接從一個HTML錨鏈接到.apk文件預期。
我需要通過PHP腳本提供下載,以便我可以更新數據庫記錄。以下PHP方法,甚至還可以在BlackBerry設備上按預期:
public function download($file)
{
if (!is_readable($file)) {
return false;
}
header('Content-Type: application/vnd.android.package-archive');
header('Content-Disposition: attachment; filename="test.apk"');
header('Content-length: ' . filesize($file));
readfile($file);
return true;
}
我要在看如何遠程登錄,做你所描述的東西,但我並檢查文件的標題與cURL和301之後,我得到了一個200 OK並最終在.apk文件。不幸的是,我不能將用戶重定向到文件,因爲我需要保護它。使情況複雜化的事實是,我正在使用網格服務,並且沒有太多的自由,通過SSH(我被監禁在...)。我無法圍繞爲什麼它在除Android之外的每個瀏覽器/設備組合中都能正常工作。 – jondbaker
這將是奇怪的標題等 - 這就是爲什麼我建議看看與telnet的區別。 像X-sendfile這樣的東西讓文件保護,還有其他一些方法。 – Jords
感謝您的回覆。只有在使用默認的Android瀏覽器(安裝FF和Opera解決了問題)時才存在問題,但不幸的是,項目流需要默認瀏覽器。我發現這篇文章http://forum.xda-developers.com/archive/index.php/t-972708.html表明,默認瀏覽器將不會允許.APK下載而無需安裝第三方應用程序(Astro File經理爲我工作)來覆蓋默認的瀏覽器過濾器。最後,客戶選擇只允許該文件位於公用文件夾中,以便將用戶重定向到該文件夾。 – jondbaker