2012-07-25 74 views
6

我有一個樣本$文件test.zip或test.apk或Test.jar的如何設置標題下載文件.apk或.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)

回答

0

嘗試使用

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

但我覺得這行代碼是錯誤的。

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

Probabily必須使用像的Content-Type這個

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

請使用'應用程序/ vnd.android.package -archive'。 '內容類型:application/apk'不是apk的正確內容類型,它會導致Chrome顯示「無法打開文件」錯誤(Android Download Manager(默認)打開文件取決於正確的Content-類型) – 2016-04-14 07:50:24