2012-12-28 38 views
8

मेरे पास टॉमकैट सर्वर पर एक वेबैप है जो फ़ाइलों को अपलोड करने की अनुमति देता है। फ़ाइल अपलोड के आकार पर एक सीमा है, और मैं चाहता हूं कि उस सीमा को पूर्ववत रूप से लागू किया जाए (यानी, एक बार जब आप सीमा पार कर लेंगे, तो फाइल अपलोड पूरी फाइल को स्थानांतरित करने के बजाय विफल हो जाती है, यह जांचकर कि यह बहुत बड़ा है और फिर एक त्रुटि भेजना)।maxPostSize multipart/form-data फ़ाइल अपलोड पर लागू होता है

मैंने server.xml में प्रासंगिक कनेक्टर में कनेक्टर अनुभाग में maxPostSize="1000" जोड़कर ऐसा करने का प्रयास किया, लेकिन मैं अभी भी बड़ी फ़ाइलों को अपलोड कर सकता हूं।

मैंने post देखा है जो दर्शाता है कि maxPostSize केवल एक विशिष्ट सामग्री प्रकार के लिए काम करता है।

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

उत्तर

8

इस विषय here पर एक बहुत ही जानकारीपूर्ण चर्चा है।

जैसा कि मैं इसे समझता हूं, तो टॉमकैट केवल उस सीमा को लागू करता है यदि सामग्री का प्रकार application/x-www-form-urlencoded है। मल्टीपार्ट्स के लिए आपको स्वयं को स्ट्रीम पढ़ना होगा और सीमा को स्वयं लागू करना होगा। मल्टीपार्ट डेटा के साथ काम करने के लिए एक शानदार टूल Apache FileUpload है।