2011-09-16 11 views
16

ऐसा प्रतीत होता है कि जब मैं "सामग्री-प्रकार: मल्टीपार्ट/फॉर्म-डेटा" POST अनुरोध करने के लिए HTML फॉर्म का उपयोग करता हूं, फ़ील्ड हमेशा उस क्रम में दिखाई देता है जिसमें वे HTML में सूचीबद्ध होते हैं। अभ्यास में, क्या सभी ब्राउज़र ऐसा करते हैं?मल्टीपार्ट अपलोड फॉर्म: ऑर्डर गारंटी है?

यह जानने के लिए प्राथमिक प्रेरणा है इसलिए मैं पूरे रैम में HTTP अनुरोध को कैश करने के लिए आवश्यक फॉर्म डेटा w/o के सर्वर-साइड सत्यापन कर सकता हूं। डिस्क पहले।

मुझे पता है कि CGI, PHP, आदि आमतौर पर अपलोड पूरा होने तक कुछ भी नहीं करेंगे। शायद क्योंकि आरएफसी 2388 सेक्शन 5.5 इस मुद्दे को संबोधित करते हुए कहता है कि ऑर्डर परिभाषित नहीं किया गया है। मैं wttpd का एक अत्यधिक अनुकूलित फोर्क काम कर रहा हूं और सर्वर में सीधे अपलोड किए गए अपलोड डब्ल्यू/सी कोड को संभालने में काम कर रहा हूं। इसलिए मुझे परवाह नहीं है कि अधिकांश सर्वर क्या करते हैं।

मैं क्या जानना चाहता हूं, अगर मैं अंग पर बाहर जाता हूं और आदेश मानता हूं, तो क्या मैं उस धारणा से जला दूंगा?

उदाहरण के लिए इस प्रपत्र लें:

<form id="formUpload" 
     target = "uploadTarget" 
     method = "post" 
     action = "/bin/upload" 
     enctype= "multipart/form-data" > 
    <input type="hidden" id="inUser" name="user" /> 
    <input type="hidden" id="inDest" name="dest"/> 
    <input type="file" id="inFile" name="file" /> 
    <input type="button" value="Upload" onclick="uploadFile();" /> 
    <iframe id="uploadTarget" name="uploadTarget" src="" style="width:0;height:0;border:0px"/> 
    </form> 

'uploadFile()' समारोह & उपयोगकर्ता गंतव्य क्षेत्रों में प्रस्तुत लागू करने से पहले भरना होगा()। मैं recv() से पहले पूरे HTTP अनुरोध निकाय के साथ उपयोगकर्ता & dest सर्वर पक्ष को भी मान्य करना चाहता हूं।

+1

जो लोग के बारे में सोच रहे हैं के लिए 'FormData()', वे भी क्रम में भेजे जाने के लिए लग रहे हैं। [स्पेक।] (Https://xhr.spec.whatwg.org/#interface-formdata) – 0xcaff

उत्तर

20

हाँ:

भागों उसी क्रम इसी नियंत्रण दस्तावेज़ स्ट्रीम में प्रकट में संसाधन एजेंट के लिए भेजा जाता है। किसी भी डेटा में भाग सीमाएं नहीं होनी चाहिए; यह कैसे किया जाता है इस विनिर्देश के दायरे से बाहर है।

http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4

+2

महान उत्तर के लिए धन्यवाद! पता नहीं क्यों मैंने HTML spec की जांच नहीं की। बीटीडब्लू, विभिन्न ब्राउज़रों का परीक्षण करते समय, मैंने पाया कि आईई 6 भी अनुपालनशील था ... जो मुझे लगा कि मेरा धारणा सुरक्षित था, लेकिन मुझे संदर्भ देने के लिए बहुत अच्छा लगता है। –

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

  • कोई संबंधित समस्या नहीं^_^