我看了很多关于将相对 URL 解析为绝对路径的教程,但我想做相反的事情:将系统绝对文件路径解析为相对 URL。
有没有一种不需要 hack 的好方法将文件路径如 c:\my_website_root\images\picture_a.jpg 转换成 images/picture_a.jpg?
我已经看过 Uri.MakeRelative(),但我认为在这种情况下它并没有用处。
编辑:我已经像这样实现了它,但仍然似乎有点 hacky(特别是第二行)。
有没有一种不需要 hack 的好方法将文件路径如 c:\my_website_root\images\picture_a.jpg 转换成 images/picture_a.jpg?
我已经看过 Uri.MakeRelative(),但我认为在这种情况下它并没有用处。
编辑:我已经像这样实现了它,但仍然似乎有点 hacky(特别是第二行)。
var urlPath = new Uri(@"c:\mywebfolder\images\picture1.jpg");
var urlRoot = new Uri(Server.MapPath("~")+"/");
string relative = urlRoot.MakeRelativeUri(urlPath).ToString();