अपवाद: "URI प्रारूप समर्थित नहीं हैं"


89

मेरे पास एक निरर्थक स्थानीय रास्ता है जो एक dir की ओर इशारा करता है: "file:\\C:\\Users\\john\\documents\\visual studio 2010\\Projects\\proj"

लेकिन जब मैं इसे DirectoryInfoctor में फेंकने की कोशिश करता हूं तो मुझे "URI प्रारूप समर्थित नहीं हैं" अपवाद मिलता है।

मैंने गुगली की और एसओ को देखा, लेकिन मैं केवल स्थानीय लोगों के साथ नहीं बल्कि दूरस्थ रास्तों से समाधान देखता हूं। मैं किसी प्रकार की रूपांतरण विधि की उम्मीद करूँगा ...

जवाबों:


189
string uriPath =
    "file:\\C:\\Users\\john\\documents\\visual studio 2010\\Projects\\proj";
string localPath = new Uri(uriPath).LocalPath;

3
अच्छा! मेरे पास यह एक ही समस्या थी और पागलों की तरह गुगली हुई, इसने बहुत अच्छा काम किया।
— जेरेमी मॉर्गन

जबकि इसका एक समाधान जो किc का काम करता है, लेकिन एक मामला है जो इसे विफल करता है। यदि स्थान में एक # है तो स्थानीय पथ केवल उस स्थिति तक ही जाएगा। जैसे अगर आपका रास्ता फ़ाइल है: /// C: /foo/bar#/test.jpg तो आपको C: / foo / bar के बदले वह मिलेगा जो आप वास्तव में चाहते हैं।
— डॉक्यूटोमेकी

2
नमस्ते। मैं चाहता हूं कि फ़ाइल www.xxx.com/sitemap.xml पर मौजूद हो। यह बात स्थानीय होस्ट पर काम कर रही है, लेकिन सर्वर पर ऐसी कोई निर्देशिका नहीं है। उस मामले में चीजों को कैसे सुलझाया जा सकता है?
— यह

@ Itatrap शायद आप Server.MapPath की तलाश में हैं ।
— एंड्रयू मॉर्टन

लेकिन आपके पथ का उपयोग करने के बाद, मैं अंदर और अधिक फ़ोल्डर बना रहा हूं और निर्देशिका नहीं बना रहा हूं। एक नज़र stackoverflow.com/questions/63493899/…
— hud

1

इसे इस्तेमाल करे

ImagePath = "http://localhost/profilepics/abc.png";
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ImagePath);
          HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream receiveStream = response.GetResponseStream();


0
     string ImagePath = "";

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ImagePath);
        string a = "";
        try
        {
            HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
            Stream receiveStream = response.GetResponseStream();
            if (receiveStream.CanRead)
            { a = "OK"; }
        }

        catch { }

1
हालांकि यह कोड प्रश्न को हल कर सकता है, जिसमें यह भी बताया गया है कि यह समस्या कैसे और क्यों हल करती है, इससे वास्तव में आपके पोस्ट की गुणवत्ता को बेहतर बनाने में मदद मिलेगी, और शायद अधिक वोट भी मिलेंगे। याद रखें कि आप भविष्य में पाठकों के लिए सवाल का जवाब दे रहे हैं, न कि केवल उस व्यक्ति से जो अब पूछ रहा है। कृपया स्पष्टीकरण जोड़ने के लिए अपने उत्तर को संपादित करें और संकेत दें कि क्या सीमाएँ और मान्यताएँ लागू होती हैं।
— आर्टोग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.