.NET

2013-02-25 58 views
6

में फ़ाइल के रूप में POST अनुरोध सामग्री को सहेजने के लिए मेरे पास एक क्लाइंट एप्लिकेशन है जो POSTasp.net URL पर अनुरोध करता है (इसका उपयोग .NET पर फ़ाइल को ऊपर उठाने के लिए किया जाता है)।.NET

asp.net पृष्ठ को कैसे बनाया जाए इस अनुरोध को प्राप्त करता है और इसे फ़ाइल के रूप में सहेजता है?

@ डारिन डिमिट्रोव मैंने आपके कोड की कोशिश की है, लेकिन मुझे 500 internal server error मिल गया है, मैं इसे कैसे ट्रैक कर सकता हूं?

+0

मुझे लगता है कि यह एक वैध सवाल यह है कि रूप में अपलोड नहीं की जा रही है पूरे अनुरोध बचा सकता है। यदि आप IE के लिए फ़ाइल अपलोड करने के लिए IFRAME पोस्ट कर रहे हैं <= 9 जो AJAX की तरह दिखता है, तो आपको फ़ाइल के साथ एक HTML फॉर्म बनाना होगा, और .NET पृष्ठ पर पोस्ट करना होगा। यही वही है जो मैं करने की कोशिश कर रहा हूं। तो सवाल यह है कि, एएसपीएक्स पृष्ठ पोस्ट किए गए डेटा से फाइल को कैसे निकाला जाता है। प्रश्न क्या पूछ रहा है। – Sean

+1

मैं @ सेन से सहमत हूं ... यह एक वैध सवाल है ... सुनिश्चित नहीं है कि यह क्यों बंद था। – FastTrack

+0

मैंने देखा है कि कभी-कभी प्रश्न बंद होते हैं क्योंकि उन्हें सर्वश्रेष्ठ अंग्रेजी में नहीं कहा जाता है। एक प्रश्न को बंद करने के लिए एक बिल्कुल बेवकूफ कारण कौन सा है। यदि प्रश्न की सामग्री वैध है, तो क्या कुछ और मायने रखता है? –

उत्तर

17

यदि ग्राहक multipart/form-data अनुरोध एन्कोडिंग (जो फ़ाइलों को अपलोड करने के लिए मानक है) का उपयोग करता है तो आप अपलोड की गई फ़ाइल को Request.Files संग्रह से पुनर्प्राप्त कर सकते हैं। उदाहरण के लिए:

protected void Page_Load(object sender, EventArgs e) 
{ 
    foreach (HttpPostedFile file in Request.Files) 
    { 
     var fileName = Path.GetFileName(file.FileName); 
     var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); 
     file.SaveAs(path); 
    } 
} 

या यदि आप ग्राहक के द्वारा उपयोग नाम पता है कि तुम इसे सीधे पहुंच सकता है:

HttpPostedFile file = Request.Files["file"]; 

दूसरी ओर ग्राहक के अनुरोध के लिए एक मानक एन्कोडिंग का उपयोग नहीं करता है आपको Request.InputStream से फ़ाइल को पढ़ने की आवश्यकता हो सकती है।

+0

क्या आप मुझे एक पूर्ण उदाहरण जूता कर सकते हैं, मैं .NET में विशेषज्ञ नहीं हूं। मैंने एंड्रॉइड क्लाइंट के साथ किया है, और सर्वर साइड घटक बनाना चाहते हैं? – Adham

+0

निश्चित रूप से, मैंने एक उदाहरण के साथ अपना जवाब अपडेट किया है। –

+0

धन्यवाद सर, क्या यह क्लाइंट साइड के रूप में इसके लिए काम करता है? Http: //stackoverflow.com/questions/1067655/how-to-upload-a-file-using-java-httpclient-library-working-with-php- अजीब-पीआर/1068132 # 1068132 – Adham

4

तुम भी

HttpContext.Current.Request.SaveAs(filename,includeHeaders) 

का उपयोग कर मान लिया जाये कि डेटा बहुखण्डीय/फार्म-डेटा

+0

tnx, मैं इस कोड का उपयोग सरल-अजाक्स-अपलोडर में करता हूं जब एमवीसी या वेबफॉर्म में अपलोड होता है। https://github.com/LPology/Simple-Ajax-Uploader –