2012-05-30 12 views
24

मैं एक jquery आधारित फ़ाइल अपलोड प्लगइन http://blueimp.github.com/jQuery-File-Upload/ लागू कर रहा हूं। एक नमूना एमवीसी 3 ऐप है जिसे आप https://github.com/maxpavlov/jQuery-File-Upload.MVC3 डाउनलोड कर सकते हैं। अजाक्स की हैंडलर के रूप में MVC क्रियाओं का उपयोग करने के लिए कॉल, नीचे दिए गए फॉर्म घोषणा का उपयोग आदेश में एमवीसी 3 एक्शन फ़ाइल साइज सीमा

@ *:

नमूना के लेखक होम दृश्य में एक टिप्पणी है। (एक टिप्पणी की) जब MVC नियंत्रक का उपयोग अनुरोधों को एक पोस्ट अनुरोध के maxMessageLength नियंत्रित नहीं कर सकते यह, अपलोड बड़ी फ़ाइलों को बेकार कार्यक्षमता निर्मोक जब तक आप सुरक्षा SUCRIFICE और बड़ी अनुमति संभाल के बाद से यह नहीं सलाह दी है पोस्ट संदेश SIZES साइट-वाइड।

आईटी HTTP हैंडलर का उपयोग करना अपलोड अनुरोध संसाधित होने तक MVC रूपरेखा प्रदान करता है पर प्रति क्रिया आधार * @

maxMessageLength सेट करने के तरीके यह अभी भी मामला है बेहतर है?

मुझे पता चला है कि मैं web.config में <httpRuntime maxRequestLength="x" /> सेट कर सकता हूं, लेकिन मेरी समझ यह है कि यह एक सुरक्षा भेद्यता है। क्या मामला भी है?

मैं एक एचटीपीएचंडलर का उपयोग करने के बजाय नियंत्रक में अपना अपलोड संभालना पसंद करूंगा लेकिन फ़ाइल आकार से सीमित नहीं होना चाहता हूं और अगर मुझे ऐसा करने की ज़रूरत नहीं है तो कोई सुरक्षा भेद्यताएं पेश नहीं करना चाहती।

अद्यतन:

इस पोस्ट File Upload ASP.NET MVC 3.0 डिफ़ॉल्ट फ़ाइल आकार की सीमा के अनुसार 4MB है। मैंने इस सीमा को http://msdn.microsoft.com/en-us/library/e1f13641.aspx की पुष्टि की है और भेद्यता को समझ लिया है।

क्या यह 4 एमबी से अधिक नियंत्रक कार्रवाई के माध्यम से फ़ाइल अपलोड करने का एकमात्र तरीका है?

उत्तर

48

आप ठोस नियंत्रक कार्रवाई location तत्व का उपयोग के लिए web.config में अपलोड आकार सीमा निर्धारित कर सकते हैं:

<configuration> 
    <location path="Home/UploadFiles"> 
     <system.web> 
      <httpRuntime maxRequestLength="40960"/> 
     </system.web> 
    </location> 
</configuration> 

कहाँ होम एक नियंत्रक नाम और UploadFiles है एक कार्रवाई का नाम है। आकार सीमा 40 एमबी है।

फिर भी, फ़ाइल अपलोड को संसाधित करने के लिए एचटीपी हैंडलर का उपयोग करना एक बुरा समाधान नहीं है यदि आप मुझसे पूछें।

+0

बस जो मैं खोज रहा था। धन्यवाद! – Rich

+2

"स्थान" xml नोड का एक बच्चा होना चाहिए ... "विन्यास"? (web.config में)। क्या आप कृपया निर्दिष्ट कर सकते हैं? – sports

+1

@sports हाँ, यह नोड का बच्चा है। मेरे अद्यतन उत्तर चेकआउट करें। आपके सहयोग के लिए धन्यवाद :) – lucask

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