आरएफसी के अनुसार, मल्टीपार्ट/फॉर्म-डेटा सामग्री-स्वभाव हेडर फ़ाइल नाम फ़ील्ड पैरामीटर HTTP उद्धृत स्ट्रिंग-स्ट्रिंग के रूप में प्राप्त करता है जहां वर्ण '\' बच सकता है कोई अन्य ascii चरित्र।मल्टीपार्ट/से-डेटा में सामग्री-स्वभाव हेडर का फ़ाइल नाम
समस्या यह है कि वेब ब्राउज़र ऐसा नहीं करते हैं।
IE6 भेजता है:
Content-Disposition: form-data; name="file"; filename="z:\tmp\test.txt"
के बजाय उम्मीद
Content-Disposition: form-data; name="file"; filename="z:\\tmp\\test.txt"
कौन सा z:\tmp\test.txt
बजाय के नियमों के अनुसार z:tmptest.txt
के रूप में पार्स किया जाना चाहिए।
फ़ायरफ़ॉक्स, Konqueror और क्रोम से बच नहीं "उदाहरण के लिए वर्ण:
Content-Disposition: form-data; name="file"; filename=""test".txt"
इसके बजाय उम्मीद
Content-Disposition: form-data; name="file"; filename="\"test\".txt"
की तो ... कैसे आप इस मुद्दे से निपटने के लिए सुझाव है कि
?किसी एक विचार है?
"क्या कोई कारण है कि आपको इस फ़ाइल नाम को पार्स करने की आवश्यकता है?" - हाँ मैं फ़ाइल नाम जानना चाहता हूं;)। "कम से कम एक चीज जो सुसंगत है वह है कि हेडर का फ़ाइल नाम एक डबल कोट के साथ समाप्त होता है," फ़ाइल नाम और नाम फ़ील्ड इस विशिष्ट क्रम में नहीं आना चाहिए, इसलिए यह मानना बुरा विचार है कि फ़ाइल-नाम अंतिम के साथ समाप्त होता है उद्धरण चिन्ह। – Artyom
चाहते हैं! = जरूरत है। ;) ठीक है, तो आप कम से कम गारंटी दे रहे हैं कि यह '' '' या '' के साथ खत्म हो जाएगा; '- स्थिरता की इस कमी के साथ आपको कुछ रियायतें देनी होंगी, इस तथ्य पर भरोसा करना कि उपयोगकर्ता अपने फ़ाइल नामों के मध्य में नहीं रखेंगे :) वैकल्पिक रूप से, क्या आप एक वेब ढांचे का समर्थन करते हैं जो समर्थन करता है आपके लिए इस विशेषता का सबसे अच्छा प्रयास पार्सिंग? –