Today, when writing code, you encounter a problem:
How do I get "/images/job_logo.gif" from the string "Http://job.cnblogs.com/images/job_logo.gif"?
The solution to this problem requires:
1. Only the APIs in the. NET class library can be invoked;
2. In the simplest way to achieve.
At first I thought of System.IO.Path, and the code was as follows:
Path.getdirectoryname (URL) + "\" + path.getfilename (URL);
Get the wrong result:
Http:\job.cnblogs.com\images\job_logo.gif
Next comes the System.Web.VirtualPathUtility, the code is as follows:
Virtualpathutility.getdirectory (URL) + virtualpathutility.getfilename (URL);
Run an error:
System.ArgumentException:The relative virtual path ' http:/job.cnblogs.com/images/job_logo.gif ' isn't allowed here.
Change "Http://job.cnblogs.com/images/job_logo.gif" to "/images/job_logo.gif" to get the correct result.
later , on the StackOverflow inspired, with System.Uri easy to handle! The code is as follows:
The new Uri (URL). Absolutepath;
This article URL address: http://www.bianceng.cn/Programming/csharp/201410/45477.htm