2010-08-04 14 views
7

मेरे पास एक अपाचे सर्वर पर एक एमपी 3 है। मैं चाहता हूं कि जब कोई उपयोगकर्ता लिंक पर जाता है तो उसे फ़ाइल के रूप में डाउनलोड किया जाना चाहिए। इसके बजाय क्विकटाइम, या Google क्रोम मीडिया प्लेयर इसे आज़माकर स्ट्रीम करेगा।ब्राउज़र में स्ट्रीमिंग से एमपी 3 फ़ाइल रोकें

क्या हेडर के साथ इसके लिए कोई फिक्स है? या एकमात्र विकल्प है, इसलिए 'राइट क्लिक सेव करें'?

संपादित करें यहां मेरा हेडर है। सफारी स्ट्रीमिंग बंद कर दिया है, लेकिन क्रोम इसे करने के लिए contines। क्रोम इस अनदेखी किया जा रहा है:

मैं देख सकता हूँ हैडर सही ढंग से बदल दिया गया है:

Date Wed, 04 Aug 2010 00:14:35 GMT 
Server Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.11 
Last-Modified Tue, 03 Aug 2010 04:37:01 GMT 
Etag "2bbd692-79597d-48ce3de3f5540" 
Accept-Ranges bytes 
Content-Length 7952765 
Content-Disposition attachment 
Keep-Alive timeout=5, max=100 
Connection Keep-Alive 
Content-Type audio/mpeg 

वहाँ शीर्षक में कुछ और है कि इस का कारण होता है?

संपादित कुछ शोध मैं इस पाया कर: http://www.google.com/support/forum/p/Chrome/thread?tid=76de4f53f43f03d3&hl=en ऐसा लगता है कि डाउनलोड करने से रोकता है क्रोम में एक बग हो सकता है।

उत्तर

12

आप Content-Disposition प्रतिक्रिया शीर्षलेख को "अनुलग्नक" और शायद "फ़ाइल नाम" फ़ील्ड भी सेट करना चाहते हैं।

उदाहरण:

Content-Disposition: attachment; filename=foo.mp3; 

अपाचे में सीधे इसे पूरा करने के में निम्नलिखित डाल कोशिश अपने httpd.conf या .htaccess फ़ाइल:

<FilesMatch "\.(?i:mp3)$"> 
    ForceType audio/mpeg 
    SetEnvIf Request_URI "^.*/?([^/]*)$" FILENAME=$1 
    Header set Content-Disposition "attachment; filename=%{FILENAME}e" 
    UnsetEnv FILENAME 
</FilesMatch> 

संपादित करें:

जोड़ा गया फ़ाइल नाम क्षेत्र के लिए अपाचे कॉन्फ़िगरेशन उदाहरण, this answer से उधार लिया गया। हालांकि, आपको गैर-यूएस-एएससीआईआई अक्षरों के साथ फ़ाइल नामों के कारण होने वाली संभावित समस्याओं के बारे में पता होना चाहिए: this question देखें।

वैकल्पिक रूप से, आप एक सामान्य स्थिर फ़ाइल नाम का उपयोग कर सकते हैं (क्योंकि आप पहले ही एक्सटेंशन जानते हैं) song.mp3, लेकिन यह आपकी परिस्थितियों के आधार पर एक विकल्प नहीं हो सकता है।

इन एमपी 3 की सेवा के लिए एक स्क्रिप्ट बनाने के लिए एक तीसरा विकल्प होगा, जो हेडर सेट कर सकता है और फ़ाइल नाम से अवांछित वर्णों को अलग करने का ख्याल रख सकता है।

+0

मुझे सही दिशा में इंगित करने के लिए धन्यवाद। मुझे इस लेख को डाउनलोड करने के लिए कैसे मजबूर किया गया है http://www.thingy-ma-jig.co.uk/blog/06-08-2007/force-a-pdf-to-download – Keyo

+0

http: //www.jtricks .com/बिट्स/content_disposition.html – NullUserException

+0

क्रोम इसे अनदेखा कर रहा है, पता नहीं क्यों। उपरोक्त शीर्षलेख चिपकाया। – Keyo

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