我正在编写一个从.css中提取图像文件的应用程序。 首先,我扫描HTML文件以提取所有.css文件:
在HTML中我有这样的东西:
<link rel="stylesheet" type="text/css" media="screen" href="TemplatesFBL/Styles/screen.css" />
www.mysite.com/Templates/Styles/screen.css 是我的第一个目标链接。
在该文件中我可能有这样的事情:
背景图像:网址( '../图像/ CssImg / pageShadowSides.gif');
问题是,我如何结合 www.mysite.com/Templates/Styles 和 ../ Images / CssImg / pageShadowSides.gif 才能获得 www.mysite.com/Templates/Images/CssImg/pageShadowSite.gif ?
我可以使用一些内置函数,还是必须自己编写?
非常感谢任何帮助!
答案 0 :(得分:2)
您正在寻找Uri
class。
为基本网址存储Uri
,然后使用相对路径创建新的Uri
:
var baseUri = new Uri("http://www.mysite.com/Templates/Styles/screen.css", UriKind.Absolute);
var fullUri = new Uri(baseUri, "../Images/CssImg/pageShadowSides.gif");
请注意,CSS文件名应包含在URL中 由于它不以斜杠结尾,因此Uri解析器将意识到它是一个文件名并且行为正确。