परिवर्तनीय आकार की फ़ाइलों को अपलोड करने के लिए सबसे अच्छी विधि क्या है (या तो एएसपी.नेट एमवीसी 2 एप्लिकेशन फ़ाइल सिस्टम के लिए बहुत बड़ी या बहुत छोटी)?एएसपी.नेट एमवीसी 2 के साथ फाइल अपलोड करने का सबसे अच्छा तरीका क्या है?
यह मैं अब तक क्या समझ है:
ऐसा लगता है कि वहाँ दो तरीके है कि लोगों को इस संभाल रहे हैं। (की फ़ाइलों को लगता है बहुत बड़ी या बहुत छोटे हो सकते हैं)
(1) Request.Files
या HttpPostedFileBase
के माध्यम से एक नियंत्रक कार्रवाई में अपलोड, जो एक लंबे समय लेने के एक दोष है लगता है संभाल क्योंकि ASP.NET फ़ाइलों को लोड करता है सक्रिय स्मृति में।
या
(2) फ़ाइल एक HttpModule जो किसी भी तरह के प्रदर्शन मुद्दा गतिरोध उत्पन्न साथ जल्दी पर अपलोड अवरोधन। (मैं यह कैसे काम करता है पर थोड़ा बादल हूं, लेकिन मैं इस पोस्ट का उपयोग http://darrenjohnstone.net/2008/07/15/aspnet-file-upload-module-version-2-beta-1/ संदर्भ के रूप में कर रहा हूं)। जिस भाग में मैं अस्पष्ट हूं, वह इस बात पर है कि एएसपी.नेट ने सबमिट की गई फ़ाइलों को सक्रिय मेमोरी में लोड किया है, और मॉड्यूल में इसे कैसे रोकना वास्तव में इस व्यवहार को बदलता है।
चूंकि दूसरा विकल्प तेज़ है, यह बेहतर विकल्प की तरह लगता है। लेकिन ऐसा लगता है कि एक अपलोड फॉर्म जमा करने वाले एप्लिकेशन में शायद उस फ़ाइल से जुड़े कुछ डेटा होंगे जिन्हें डेटाबेस में जारी रखने की आवश्यकता है। मैं अपने एचटीपी हैंडलर या एचटीपी मॉड्यूल में दृढ़ता से कॉल नहीं करना चाहता, (क्योंकि तब मेरे पास अलग-अलग स्थानों में होने वाली दो बहुत ही समान कार्यक्षमताएं होंगी: नियंत्रक और http हैंडलर)।
मुझे लगता है कि आसपास एक काम HttpContext.Items में लक्ष्य फ़ाइल स्थान को संग्रहीत करना होगा, लेकिन यह सबसे अच्छा तरीका है?
इस बारे में एक आखिरी चिंता यह है कि फ़ाइल अपलोड होने से पहले मैं एक HttpResponse प्रस्तुत करना चाहता हूं। इसलिए, यदि कोई बड़ी फ़ाइल है, तो मैं उपयोगकर्ता को अपलोड स्थिति के मूल्य के साथ एक दृश्य भेजूंगा, और स्थिति को अद्यतन रखने के लिए AJAX कॉल कर दूंगा। अपलोड प्रक्रिया को जारी रखते हुए, मैं परिणाम कैसे प्रस्तुत करूं? क्या मुझे AsyncHandler या AsyncController बनाने की आवश्यकता है? क्या मुझे मैन्युअल रूप से एक और धागा पकड़ने की ज़रूरत है?
बहुत बहुत धन्यवाद। मुझे पता है कि यह बहुत सारे प्रश्न हैं, और शायद कुछ के बारे में समझने की सामान्य कमी को दर्शाता है। समझने की सामान्य कमी के बारे में मजाकिया बात यह है कि जिन लोगों के पास उन्हें समझ में कमी है, उन्हें समझने की कमी नहीं है ... इसलिए, अगर कोई मुझे उस नोट पर सही दिशा में इंगित कर सकता है, तो मैं इसकी सराहना करता हूं ।
[फ़ाइल अपलोड एमवीसी] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/765211/file-upload-mvc) – jgauffin
क्या आप मजाक कर रहे हैं? – smartcaveman
@jguaffin - जो प्रश्न आप लिंक करते हैं वह इस मुद्दे से संबंधित नहीं है। – Fenton