2009-08-29 11 views
7

SaveAs विधि रूट रूट की आवश्यकता के लिए कॉन्फ़िगर किया गया है, और पथ '~ \ images \ 594083964.jpg 'जड़ नहीं है। विवरण: वर्तमान वेब अनुरोध के निष्पादन के दौरान एक अनचाहे अपवाद हुआ। त्रुटि के बारे में अधिक जानकारी के लिए और जहां यह कोड में उत्पन्न हुआ, कृपया स्टैक ट्रेस की समीक्षा करें।SaveAs विधि रूट रूट की आवश्यकता के लिए कॉन्फ़िगर किया गया है, और पथ '~ \ छवियों \ 594083964.jpg' रूट नहीं है

अपवाद विवरण:

System.Web.HttpException: The SaveAs method is configured to require a rooted path, and the path '~\images\594083964.jpg' is not rooted.

स्रोत त्रुटि:

Line 27:  { 
Line 28: 
Line 29:   fu1.SaveAs(@"~\\images\\" + i + fu1.FileName.Substring(fu1.FileName.Length - 4, 4)); 
Line 30: path = "~\\images\\"+i + fu1.FileName.Substring(fu1.FileName.Length-4,4); 
Line 31: } 

स्रोत फ़ाइल: ई: \ \ वेबसाइट 1 \ रेखा signup.aspx.cs लोग \ रवि \ नए डेटा: 29

+0

और अपने सवाल यह है कि (Path.GetExtension (स्ट्रिंग) फ़ाइल एक्सटेंशन है कि 3 भी वर्ण नहीं हैं संभाल लेंगे)? – hirschhornsalz

+10

मुझे लगता है कि आप मान सकते हैं कि वह त्रुटि नहीं चाहता है;) – MPritchard

उत्तर

21

जिस पथ को आप सहेज रहे हैं वह एक सापेक्ष यूआरएल है। आपको स्थानीय फ़ाइल पथ (या पूर्ण नेटवर्क पथ) में सहेजने की आवश्यकता है।

प्रयास करें:

string relativePath = @"~\images\"+ i + Path.GetExtension(fu1.FileName); 
fu1.SaveAs(Server.MapPath(relativePath)); 

+0

हालांकि आपको सापेक्ष पथ में उपयोग करना चाहिए, नहीं \। – Guffa

+0

@ गुफा क्या आप वाकई कोई फर्क पड़ता है? – MPritchard

+1

गलत विभाजक को सही करने के लिए विधि पर्याप्त हो सकती है, लेकिन उस व्यवहार पर भरोसा करने का कोई कारण नहीं है (जो बदल सकता है) जब आप इसके बजाय सही सेपरेटर्स का आसानी से उपयोग कर सकते हैं। – Guffa

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