14

サンプル $file は 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として読み込むと結果はOKですが、ファイルを読み込むtest.apk or test.jarとシステムエラーの場合、このファイルを読み込むためのヘッダーの設定方法(apk、jar)

4

2 に答える 2

42

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

于 2012-07-25T05:02:50.527 に答える
-1

使ってみて

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

しかし、このコード行は間違っていると思います。

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

おそらく、このように使用する必要があります

JResponse::setHeader('Content-Type', 'application/jar', true);
于 2012-07-25T04:32:42.597 に答える