मैंने अपने नियंत्रक पर एक विधि लिखी है जो ऑटो मेरे क्लाइंट के लिए एक पावरपॉइंट डेक उत्पन्न करता है और जो ठीक काम करता है ... सिवाय इसके कि मैं डिस्क पर फ़ाइल को सहेजने के बारे में कुछ हिस्सों पर फंस गया हूं।मुझे अभी भी "पथ तक पहुंच" क्यों मिल रही है: ... ... 'अस्वीकार कर दिया गया है "निर्देशिका में IIS_IUSRS लिखने की अनुमति देने के बाद भी?
मैं इस अवधारणा के लिए कोई अजनबी नहीं हूं; और "सोचा" कि मुझे बस इतना करना है कि IIS_IUSRS निर्देशिका पर अनुमति दें और सभी मूल निर्देशिकाओं पर अनुमति पढ़ें। मैं आईआईएस 7 का उपयोग कर रहा हूं, और मैंने आईआईएस 6 के साथ नेटवर्क्स सेवा को एक ही अनुमति देने के साथ पहले यह किया है।
बस किक्स के लिए, मैंने निर्देशिका पर हर किसी को लिखने की अनुमति भी दी और मैं अभी भी अपवाद प्राप्त कर रहा हूं: सिस्टम। अनधिकृत एक्सेस अपवाद: पथ 'सी: ...... \ सामग्री \ पीपीटी' तक पहुंच अस्वीकार कर दी गई है। (मैंने सादगी के लिए कुछ पथ हटा दिया)।
क्या कोई और चीज़ है जो मैं देख रहा हूं? जिस सर्वर पर यह है, वह पहला है जिसे मैंने स्थापित किया है, इसलिए मैंने कुछ अनदेखा कर दिया होगा?
यहाँ मेरी नियंत्रक विधि को सरल बनाया है:
public ActionResult CreatePowerPoint()
{
string path = HttpContext.Server.MapPath("~/Content/PPT");
Aspose.Slides.Presentation presentation = new Aspose.Slides.Presentation();
CreatePresentation(presentation);
presentation.Save(path, Aspose.Slides.Export.SaveFormat.Ppt);
return View();
}
}
presentation.Save() विधि एक रास्ता लेता है और एक प्रारूप को बचाने ... मैं और क्या करने की कोशिश करना नहीं पता ... वहाँ कुछ गड़बड़ है मेरे कोड के साथ? क्या मैं गलत तरीके से पथ बना रहा हूं? मैं सहेजने की विधि में स्ट्रीम स्ट्रीम भी पास कर सकता हूं, लेकिन मुझे यकीन नहीं है कि इससे समस्या ठीक हो जाएगी या नहीं।
आपके द्वारा सुविधा के लिए छोड़े जाने वाले पथ का हिस्सा एक अंतर डाल सकता है। आपको यह दिखाने की ज़रूरत है कि निर्देशिका पेड़ में आप फ़ाइल को सहेजने की कोशिश कर रहे हैं; कुछ संस्करणों में विंडोज गैर-प्रशासनिक उपयोगकर्ताओं को यूएसी के हिस्से के रूप में कुछ फ़ोल्डरों को लिखने की अनुमति नहीं देता है। निर्देशिका को दिखाए बिना "मैं इस निर्देशिका में सहेज नहीं सकता" सवाल बहुत अप्रत्याशित बनाता है। –
या आप iIS_IUSERS या सभी को अनुमति देने के बजाय किसी उपयोगकर्ता का प्रतिरूपण करने का प्रयास कर सकते हैं। मुझे लगता है कि इसे गैर-प्रशासनिक उपयोगकर्ताओं से सभी फ़ोल्डरों तक पहुंचने की अनुमति नहीं है और यह समस्याएं पैदा कर रहा है। जाने का उचित तरीका प्रतिरूपण है। – Tayyab
मैं मदद की सराहना करता हूं।मैंने अपने स्वयं के जवाब में पोस्ट किया गया समाधान पाया है। केन भी धन्यवाद, क्योंकि पथ सही था, लेकिन मुझे पथ के अंत में फ़ाइल नाम जोड़ने की भी आवश्यकता थी। – Ben