2008-09-09 15 views
18

मैंने एक फ़ाइल स्वीकार करने और डिस्क पर लिखने के लिए एक डब्ल्यूसीएफ सेवा बनाई है। फ्रंट-एंड में एक पृष्ठ है जिसमें SWFUpload है जो क्लाइंट साइड पर अपलोड को प्रबंधित कर रहा है। जाहिर है, SWFUpload डेटा सामग्री के साथ डेटा पोस्ट करता है: मल्टीपार्ट/फॉर्म-डेटा।डब्ल्यूसीएफ सेवा में फ़ाइल कैसे अपलोड करें?

मुझे यह ठीक लगेगा लेकिन सेवा पक्ष पर मुझे एक त्रुटि मिल जाएगी। त्रुटि "प्रोटोकॉल अपवाद" टेक्स्ट/एक्सएमएल की उम्मीद है। मैंने बाइंडिंग में अलग-अलग संदेश एन्कोडिंग की कोशिश की है लेकिन कुछ भी काम नहीं करता है।

मैं इस फ़ाइल को मल्टीपार्ट/फॉर्म-डेटा का उपयोग करके कैसे अपलोड कर सकता हूं?

उत्तर

9

@jdiaz,

@JasonS फ़ाइल आप एक बाइट धारा के रूप में स्थानांतरित करना अपलोड करने का अधिकार है। आपको WCF streaming का उपयोग करने की आवश्यकता है। कैसे अपलोड करने के लिए पर उदाहरण के लिए WCF के माध्यम से फ़ाइल देखें an articlehttp://kjellsj.blogspot.com

+1

क्या इससे वाकई मदद मिली? मुझे अभी भी पता नहीं है कि ब्राउज़र से कैसे अपलोड किया जाए। डब्ल्यूसीएफ को अपलोड करने के लिए अब तक मिले सभी समाधान .NET क्लाइंट का उपयोग करते हैं। SWFUpload नहीं है। – tishma

0

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

2

से क्या आप उपयोग करना चाहते शायद MTOM है, यदि आप इसे मानक होना चाहता हूँ। इसका उपयोग करके, आपके पास MIME मल्टीपार्ट संदेश हो सकते हैं।

तब आपको फ़ाइल को स्ट्रीम के रूप में पढ़ना होगा और अनुरोध के पैरामीटर में से एक में इसे भरना होगा।

1

यह हो सकता है कि आपकी डब्ल्यूसीएफ सेवा .NET Framework 3.5 को लक्षित करे और आपका आईआईएस .NET Framework 4.0 पर चल रहा है। इस मामले में (ढांचा मेल नहीं) आपको अपनी सेवा को संशोधित करने की आवश्यकता है।

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