2009-04-15 10 views
10

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

क्या मैं सिल्वरलाइट का उपयोग करके ऐसा कर सकता हूं? और कैसे?

यदि यह संभव नहीं है, तो ऐसा करने का एक और तरीका है? कोई सुझाव?

धन्यवाद

संपादित करें: के रूप में ब्रायन Genisio के लिए संपर्क में है, मैं, फ़ाइल सहेजने के लिए उपयोगकर्ता permision लिए पूछ सकते हैं तो मैं खुले लगता है और बचाने के संवाद मेरे मामले के लिए ठीक हैं। लेकिन अगर यह पर्याप्त नहीं है, तो अलग-अलग भंडारण के बाहर फ़ाइल को सहेजने के लिए, उपयोगकर्ता इंटरैक्शन के साथ या उसके बिना कोई तरीका है, उदाहरण के लिए उपयोगकर्ता के लिए एक नया डाउनलोड अनुकरण करना?

उत्तर

8

सिल्वरलाइट 3.0 में, आपको OpenFileDialog के माध्यम से फ़ाइलों को पढ़ने और लिखने की पहुंच होगी। सिल्वरलाइट 2.0 में, आपके पास पृथक सोट्रेज तक पहुंच है, जो आपको एक सैंडबॉक्स में सहेजने देगी। हालांकि, उपयोगकर्ता की अनुमति के बिना शायद आपके पास फ़ाइल सिस्टम तक पूर्ण पहुंच नहीं होगी।

3

आप cannot do this सुरक्षा कारणों के लिए:

सिल्वरलाइट आधारित अनुप्रयोगों ऑपरेटिंग प्रणाली की फाइल सिस्टम का उपयोग नहीं करते और लागू करने के लिए पृथक संग्रहण का उपयोग करने तक ही सीमित हैं और फ़ाइलों तक पहुंचें, इसलिए यह नामस्थान [System.IO] कोई अतिरिक्त कार्यक्षमता प्रदान नहीं करता है। सिल्वरलाइट-आधारित अनुप्रयोगों के बारे में अधिक जानकारी के लिए पृथक भंडारण का उपयोग करें, Isolated Storage देखें।

यदि संभव हो, तो आप इसे इस तरह स्थानांतरित करना चाहते हैं कि सर्वर एन्कोडिंग करता है और फ़ाइल पारंपरिक तरीके से डाउनलोड के लिए उपलब्ध कराई जाती है।

यदि आप गोपनीयता/सुरक्षा के लिए एन्कोडिंग कर रहे हैं तो केवल एक सुरक्षित प्रोटोकॉल (एसएसएल का उपयोग कर HTTPS) पर डाउनलोड की पेशकश करने पर विचार करें।

0

एक अन्य विकल्प (सुरुचिपूर्ण लेकिन काम करता है नहीं) सेवाओं का उपयोग कर एक पिंग पोंग प्रदर्शन करने के लिए हो सकता है:

  • सर्वर से फ़ाइल प्राप्त करें।
  • क्लाइंट पक्ष पर आवश्यक एन्कोडिंग/परिवर्तन करें।
  • इसे डब्ल्यूसीएफ सेवा का उपयोग करके फिर से सर्वर पर भेजें, इसे सत्र में संग्रहीत करें।
  • एसएल से जावास्क्रिप्ट विधि को कॉल करें जो एक कस्टम HTTP हैनल्डर से अनुरोध करेगा।
  • वह कस्टम HTTP हैनर फ़ाइल में संलग्नक के रूप में सत्र वापस करेगा (पहली बार आईई से बुरा बार दिखाई देगा ... आप कुछ डाउनलोड करने जा रहे हैं ...)।

मेरा मामला थोड़ा आसान है, मेरे आवेदन में मुझे जेपीईजी को डीबी आरेख निर्यात करने और एक HTML रिपोर्ट के साथ निर्यात करने की आवश्यकता है, मैंने उस दृष्टिकोण (पिंग पोंग :)) का उपयोग किया।

आप एक बार देख लेना चाहते हैं:

http://www.dbschemaeditor.com

HTH Braulio

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