मेरे प्रोग्राम के लिए विशिष्ट बाइनरी फ़ाइल के लिए कौन सा MIME उपयोग करना है?


232

मेरा प्रोग्राम अपनी बाइनरी फ़ाइल प्रकार का उपयोग करता है, इसलिए मुझे लगता है कि मैं MIME टाइप टेक्स्ट / प्लेन का उपयोग नहीं कर सकता, क्योंकि यह 7-बिट ASCII फ़ाइल नहीं है।

क्या मुझे इसे "एप्लिकेशन / myappname" कहना चाहिए?

जवाबों:


362

मैं अनुशंसा application/octet-streamकरता हूं कि RFC2046 कहता है "" ओकटेट-स्ट्रीम "उपप्रकार का उपयोग यह इंगित करने के लिए किया जाता है कि एक निकाय में मनमाना द्विआधारी डेटा है" और "एक कार्यान्वयन के लिए अनुशंसित कार्रवाई" एप्लिकेशन / ऑक्टेट-स्ट्रीम "इकाई बस प्रदान करना है। फ़ाइल में डेटा डालने के लिए [...] "।

मुझे लगता है कि इस तरह से आप मनमाने कार्यक्रमों से बेहतर तरीके से निपट पाएंगे, जो आपके अज्ञात माइम प्रकार का सामना करने पर रोक सकता है।



6

mimetype हेडर ब्राउज़र द्वारा पहचाने जाते हैं (तेज़) संभवतया एक हैंडलर को पहचानना ताकि डाउनलोड की गई फ़ाइल को लक्ष्य के रूप में उपयोग किया जा सके, उदाहरण के लिए, पीडीएफ डाउनलोड किया जाएगा और आपके एडोब रीडर प्रोग्राम को पीडीएफ फाइल के पथ के साथ निष्पादित किया जाएगा। एक विवाद,

यदि आपकी ज़रूरतों को अपने डाउनलोड फ़ाइल को आपके ऑपरेशन-सिस्टम के माध्यम से संभालने के लिए एक ब्राउज़र एक्सटेंशन लिखना है, या आप बस एक और अधिक 'पेशेवर तलाश' प्रोजेक्ट करना चाहते हैं, तो आगे बढ़ें और आपके लिए उपयोग करने के लिए एक अद्वितीय mimetype का चयन करें। कोई फर्क नहीं पड़ता क्योंकि ऑपरेशन-सिस्टम के पास इसे खोलने के लिए कोई हैंडल नहीं होगा (कुछ ब्राउज़रों में कुछ बंडल-प्लगइन्स हैं, उदाहरण के लिए नए Google क्रोम संस्करणों में एक अंतर्निहित पीडीएफ रीडर है),

यदि आप यह सुनिश्चित करना चाहते हैं कि फ़ाइल डाउनलोड हो जाए तो इस उत्तर पर एक नज़र डालें: https://stackoverflow.com/a/34758866/257319

यदि आप अपने फ़ाइल प्रकार को विशेष रूप से व्यवस्थित करना चाहते हैं, तो यह फ़ाइल के पहले कुछ बाइट्स में कुछ अक्षर जोड़ने के लायक हो सकता है, उदाहरण के लिए, हर JPG के पास यह फ़ाइल प्रारंभ है:

यदि आप 4 या 8 बाइट की छलांग लगा सकते हैं तो यह आपके लिए बाकी हिस्सों में बहुत मददगार हो सकता है

:)


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.