2013-01-23 12 views
15

मैंने पहले से ही पूछा है कि मैं उन्हें सहेजने की आवश्यकता के बिना वेब एपी में अपलोड की गई फ़ाइलों को कैसे पढ़ सकता हूं। इस प्रश्न का उत्तर मल्टीपार्टमेमरीस्ट्रीमप्रोवाइडर के साथ दिया गया था, लेकिन अपलोड की गई फ़ाइल के प्रकार को प्राप्त करने के लिए मुझे इस विधि के साथ फ़ाइल नाम कैसे प्राप्त होगा?मल्टीपार्टमेमरीस्ट्रीमप्रोवाइडर: फ़ाइल नाम?

तरह का संबंध

+0

अन्य प्रश्न का एक लिंक, कृपया। – Ben

उत्तर

26

इस DotNetNuke कोड here में एक उदाहरण (PostFile() विधि देखें) नहीं है।

अपडेट किया गया @FilipW टिप्पणी के आधार पर ...

आप की आवश्यकता सामग्री आइटम जाओ और फिर फ़ाइल नाम संपत्ति का उपयोग।

कुछ इस तरह:

 var provider = new MultipartMemoryStreamProvider(); 
     var task = request.Content.ReadAsMultipartAsync(provider). 
      ContinueWith(o => 
       { 
        //Select the appropriate content item this assumes only 1 part 
        var fileContent = provider.Contents.SingleOrDefault(); 

        if (fileContent != null) 
        { 
         var fileName = fileContent.Headers.ContentDisposition.FileName.Replace("\"", string.Empty); 
        } 
       } 
+4

बस शीर्षलेखों की जांच करें। सामग्री डिस्पोजिशन। फ़ाइल नाम। बदलें ("\" ", स्ट्रिंग.एक्टी); - कोई" पोस्टफाइल "हेडर नहीं है :) –

+0

@ फिलिप वास्तव में - मेरी अज्ञानता वहां दिखाई दे रही है। यह समझाने की कोशिश कर रहा था कि कैसे ढूंढें फील्ड नाम के आधार पर सही HttpContent, गलत मान लिया गया POSTFILE मानक था, और निश्चित रूप से इसका वर्णन करने के लिए शब्द शीर्षलेख का उपयोग नहीं किया जाना चाहिए था। अब ओपी तक सामग्री चयन छोड़ दिया गया है। –