मैं इस प्रश्न का उत्तर देना चाहता हूं:
क्या यह संभव है, मल्टीपार्ट फ़ील्ड हेडर को अपनी सामग्री से पहले पढ़ने के लिए?
जब मैं मल्टीपार्ट आरएफसी को देखता हूं, तो मैं इस उदाहरण को देखता हूं:
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Subject: Formatted text mail
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary=boundary42
--boundary42
Content-Type: text/plain; charset=us-ascii
...plain text version of message goes here....
--boundary42
Content-Type: text/richtext
.... richtext version of same message goes here ...
--boundary42
Content-Type: text/x-whatever
.... fanciest formatted version of same message goes here
...
--boundary42--
मैं ध्यान देता हूं कि हेडर Content-Type
शरीर के अंगों के बीच स्थित हैं। इस प्रकार मैं निष्कर्ष निकालता हूं, आप सभी निकायों से पहले सभी हेडर नहीं कर सकते।
अब आपके प्रश्न के लिए:
मैं दो बार एक मल्टीपार्ट फॉर्म को पार्स करना चाहता हूं: एक बार आने वाले फ़ील्ड्स को हथियाने के लिए, और बाद में फ़ाइल अपलोड को संसाधित करने के लिए।
यह निर्भर करता है कि आप "पार्सिंग" से क्या मतलब है। HTTP संदेश को पढ़ते समय इसमें शामिल होने के लिए कुछ पार्सिंग शामिल है। अंत में अंत में एक अतिरिक्त है --
:
--boundary42--
दो बार पार्स करने के विचार:
- मैं निष्कर्ष निकालता हूं, एक को सॉकेट से पूरे उत्तर की प्रतिलिपि बनाने और बाद में पार्स करने में सक्षम होना चाहिए।
- आप फ़ाइल के मुख्य भाग को फ़ाइल के मुख्य भाग से पहले पढ़ सकते हैं लेकिन सभी फ़ाइलों के सभी शीर्षकों को नहीं।
क्या यह भी संभव है?
हां, ऐसे मामले हैं जिनमें यह संभव है (जब फ़ाइल आपके द्वारा अपलोड की गई अंतिम चीज़ है)। मुझे नहीं पता कि यह सार्वभौमिक रूप से संभव है कि आपको क्या चाहिए क्योंकि मुझे नहीं पता कि आप क्या करना चाहते हैं।
मुझे उम्मीद है कि इससे चीजें स्पष्ट होंगी। यदि यह पूर्ण उत्तर नहीं है या आप इसे नापसंद करते हैं, तो कृपया हमें बताएं कि क्योंकि इस सवाल का जवाब देने की कोशिश कर रहे अन्य लोगों के लिए यह बहुमूल्य प्रतिक्रिया हो सकती है।