如何设置标题以下载文件.apk或.jar?

时间:2012-07-25 04:22:54

标签: php joomla

我有一个示例$文件是test.zip或test.apk或test.jar

$len = filesize($file);
$filename = basename($file);
ob_end_clean();
JResponse::clearHeaders();
JResponse::setHeader('Pragma', 'public', true);
JResponse::setHeader('Expires', '0', true);
JResponse::setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true);
JResponse::setHeader('Content-Type', $file, true);
JResponse::setHeader('Content-Disposition', 'attachment; filename='.$filename.';', true);
JResponse::setHeader('Content-Transfer-Encoding', 'binary', true);
JResponse::setHeader('Content-Length', $len, true);
JResponse::sendHeaders();
echo JFile::read($file);

当读取文件为test.zip时结果正常,但是当读取文件test.apk or test.jar是系统错误时,如何设置标题来读取此文件(apk,jar)

2 个答案:

答案 0 :(得分:25)

Content-Type中的

setHeader是

'apk' => 'application/vnd.android.package-archive'
'jar' => 'application/java-archive'

更多: https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

答案 1 :(得分:0)

尝试使用

Content-type: application/jar
Content-type: application/apk

但我认为这行代码是错误的。

JResponse::setHeader('Content-Type', $file, true);

顺便说一句,你必须像这样使用

JResponse::setHeader('Content-Type', 'application/jar', true);