2011-06-22 15 views
9

मैं "/Content/Upload/image.jpg" जैसे सर्वर पथ पर इस भौतिक पथ "C:\bla\bla\Content\Upload\image.jpg" को परिवर्तित करना चाहता हूं।भौतिक पथ के सर्वर पथ कैसे प्राप्त करें?

मैं यह कैसे कर सकता हूं? रिश्तेदार पथ प्राप्त करने के लिए निम्नलिखित

public static class Extensions  { 
     public static string RelativePath(this HttpServerUtility utility, string path, HttpRequest context) 
     { 
      return path.Replace(context.ServerVariables["APPL_PHYSICAL_PATH"], "/").Replace(@"\", "/"); 
     } 
    } 

और आप

Server.RelativePath(path, Request); 
+0

कहां? क्लाइंट-साइड या सर्वर-साइड में? – jsalonen

+0

@jsalonen - सर्वर पक्ष – Freshblood

+0

[एएसपी.NET पूर्ण पथ वेब-सापेक्ष पथ पर वापस] का डुप्लिकेट (http://stackoverflow.com/questions/3164/asp-net-absolute-path-back-to-web- सापेक्ष-पथ) –

उत्तर

11

आप ऐसा ही कुछ कर सकते हैं।

String filePath = @"C:\bla\bla\Content\Upload\image.jpg"; 

String serverPath = Request.PhysicalPath; 
String relativePath = filePath.Substring(serverPath.Length, filePath.Length - serverPath.Length); 
+0

क्या यह ओपी से क्या पूछा गया है इसके उलट नहीं है? – GvS

+0

ओह क्षमा करें, मैं प्रतिक्रिया –

+2

धन्यवाद लिखता हूं, इसका अच्छा समाधान है, लेकिन मैं HttpServerUtilityBase का उपयोग HttpServerUtility abnd HttpRequestBase के बजाय HttpRequestBase के बजाय करना पसंद करता हूं। अच्छी तरह से काम कर रहे हैं। –

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