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