2012-07-25 17 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 परिणाम ठीक है, लेकिन जब पढ़ा फ़ाइल test.apk or test.jar प्रणाली त्रुटि है, कैसे स्थापित करने के लिए है इस फ़ाइल (apk, जार) को पढ़ने के लिए शीर्ष लेख

उत्तर

18

setHeader की तरह उपयोग करना चाहिए है

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

अधिक: https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

+0

'एपीके' => 'एप्लिकेशन/vnd.android.package-archive' हेडर मेरे लिए laravel में php के साथ काम नहीं करता है –

0

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

उपयोग करने का प्रयास लेकिन मुझे लगता है कि कोड की इस पंक्ति गलत है।

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

probabily आप में सामग्री प्रकार इस

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

का उपयोग करें 'आवेदन/vnd.android.package -archive'। 'सामग्री-प्रकार: एप्लिकेशन/एपीके' एपीके के लिए सही सामग्री-प्रकार नहीं है, यह क्रोम को "फ़ाइल नहीं खोल सकता" त्रुटि दिखाएगा (एंड्रॉइड डाउनलोड मैनेजर (डिफ़ॉल्ट) खुली फ़ाइल सही सामग्री पर निर्भर करती है- प्रकार) –

संबंधित मुद्दे