【问题标题】:PHP Android how to dowload apk filePHP Android如何下载apk文件
【发布时间】:2012-08-20 13:58:25
【问题描述】:

我的服务器上有 Android 应用程序,也有 php 代码,例如:

header('Content-Type: application/vnd.android.package-archive');
header('Content-Disposition: attachment; filename="test.apk"');
readfile('test.apk');

我的手机默认浏览器正在以阅读屏幕上的 apk 文件的方式下载此文件。我期待某种对话,例如:将其另存为或/以及您想将其保存在哪里。 我做错了什么? 有没有办法自动保存,意思是不用对话?

【问题讨论】:

  • 我认为你的意思是“自动”...
  • @Avyakt 如果您发送 application/zip 作为内容类型会发生什么。由于 APK 只是一个重命名的 zip 存档,这应该可以按预期工作(如果您按照建议的附录提供 .apk)。
  • @LukasKnuth 完全一样,但即使我确实改变了它,结果也是一样的。

标签: php android download apk force-download


【解决方案1】:

试试:

header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-Type: application/vnd.android.package-archive');
header("Content-Transfer-Encoding: binary");    
header('Content-Disposition: attachment; filename="test.apk"');
readfile('C4A.apk');

【讨论】:

  • 它没有帮助,移动浏览器将apk文件的内容放在屏幕上,因为它应该被读取而不是下载。不过谢谢你的建议。
  • 为了让它工作,我确实改变了设计,php 代码通过电子邮件发送 apk,它现在可以工作。但是,这个问题没有答案。
【解决方案2】:

您应该尝试以下方法之一:

  1. 检查服务器上的 mime 类型配置。 APK Files
  2. add the apk extension to apache

另外,请检查此question。但是服务器是 .net,而不是 php。

【讨论】:

  • 感谢您的回答。广告 2,我知道这个问题,但我不知道如何将这些答案应用到我的问题中。广告 1,我如何检查我的服务器“我的提供商服务器”关于 apk 扩展?
  • @Avyakt 如前所述,您可以查看/etc/mime.types 类似application/vnd.android.package-archive apk 的内容,您必须将此AddType application/vnd.android.package-archive .apk 添加到/etc/apache2/mods-available/mime.conf
  • apache apk 扩展没有任何问题,因为我可以通过 Firefox 在我的 PC 上下载 apk 文件,但我无法通过手机上的默认网络浏览器来下载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-12
相关资源
最近更新 更多