C# .Net实现URL绝对路径和相对路径之间互相转换

网站制作开发中,URL的绝对路径和相对路径之间互相转换,是经常需要用到的。以下是在C#.Net下一种实现二者互相转化的方法:

[DllImport("shlwapi.dll", CharSet = CharSet.Auto)]
        public static extern bool PathRelativePathTo(
               [Out] StringBuilder pszPath,
               string pszFrom,
               FileAttributes dwAttrFrom,
               string pszTo,
               FileAttributes dwAttrTo
        );

public static string ToRelativePath(string basePath, string absolutePath)
        {
            StringBuilder path = new StringBuilder(260);
            PathRelativePathTo(path, basePath, FileAttributes.Normal,
               absolutePath, FileAttributes.Normal);
            string r = path.ToString();
            if (r.StartsWith(".\\"))
            {
                return r.Substring(2);
            }
            return r;
        }

public static string ToAbsolutePath(string basePath, string relativePath)
        {
            return new Uri(new Uri(basePath), relativePath).ToString();//如果是文件路径将/替换为\
        }

时间: 2024-08-11 05:40:15

C# .Net实现URL绝对路径和相对路径之间互相转换的相关文章

织梦系统如何设置URL绝对路径及绝对路径的好处

今天,和大家分享下织梦系统如何设置URL绝对路径及绝对路径的好处,我的一些就是用的织梦系统,感觉织梦在SEO优化方面做的还是非常好的,至少在CMS系统中应该是做的最出色的吧!下面,我就先来讲下这个织梦如何设置URL绝对路径,然后再讲一下为什么要这样设置! 方法:打开后台进入系统选项卡→系统基本参数→核心设置→开启绝对地址选择“是”下面来说一下为什么这样做,就以我自己的一个网站上海立信会计学院http://lixin.sh.cn/来说吧,因为这个是我测试过的,效果非常明显!开启绝对路径后,网站的首

URI和URL区别以及相对路径和绝对路径的区别

一.URL和URI定义: 1.URL是全球资源定位符的英文所写,您平时上网时在IE浏览器中输入的那个地址就是URL.比如:网易 http://www.163.com就是一个URL. 2.URI是Web上可用的每种资源 - HTML文档.图像.视频片段.程序,由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位. URL的格式由下列三部分组成: 第一部分是协议(或称为服务方式); 第二部分是存有该资源的主机IP地址(有时也包括端

eclipse部署tomcat修改项目访问路径(虚拟路径)

原文参考: http://www.educity.cn/wenda/147993.html http://blog.163.com/java_zf/blog/static/19926038420129240314546/ tomcat部署web项目(eclipse自动部署项目到tomcat,访问URL中不包含部署名) 最近项目中需要把项目部署到tomcat中,并且访问路径中不包含不署名,且想实现Eclipse中的自动部署,扒了好久资料,最终实现了自己的需求,呵呵,如下: 1. 把项目contex

java(web)相对路径,绝对路径

1.定义 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:/xyz/test.txt 代表了test.txt文件的绝对路径.http://www.baidu.com/index.htm也代表了一个URL绝对路径. 相对路径:相对与某个基准目录的路径.包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的根目录.和物理路径的相对表示.例如:"./" 代表当前目录,"../&

关于绝对路径和相对路径

一.基本概念 1.相对路径-顾名思义,相对路径就是相对于当前文件的路径.网页中一般表示路径使用这个方法. 2.绝对路径-绝对路径就是你的主页上的文件或目录在硬盘上真正的路径.绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的Perl 程序是存放在 c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin就是cgi-bin目录的绝对路径 在网络中,以http开头的链接都是绝对路径,绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,绝对路径一般在CGI程序

jsp相对路径和绝对路径

jsp相对路径和绝对路径小谈 转自:http://cxshun.iteye.com/blog/1123913 博客分类: j2ee相关 jsp相对路径绝对路径 很长一段时间纠结过JSP中的相对路径和绝对路径,也研究过一段时间,今天趁着有点时间,记下来,也有大家分享一下. 1)我们先来理解一下相对路径 首先还是我们的开始,建一个WEB项目,只是测试一下而已,名称就随便啦.我的项目结构如下: 哈哈,经常看动作片的应该知道,donnieYen是哪个家伙啦,就是丹哥.弄几张他的照片放放. 就只有两个页面

Spring读取配置文件,地址问题,绝对路径,相对路径

Spring在读取配置文件时,是相对于bin,或者WEB-INF的: “applicationContext.xml”就是找bin或WEB-INF及子文件夹下的文件: “/res/applicationContext.xml”就是必须bin或WEB-INF文件夹下的res文件夹的文件://res可以换掉: 下面是找的一些关于相对路径和绝对路径的资料: 转自:http://www.cnblogs.com/mabaishui/archive/2011/03/17/1987226.html 1.基本概

Asp.Net Core Web相对路径、绝对路径整理

一.相对路径 1.关于Asp.Net Core中的相对路径主要包括两个部分:一.Web根目录,即当前网站的目录为基础:二.内容目录wwwroot文件夹,对于静态文件都放在这个目录. 2.获取控制器,Action的路径 对于控制器.视图的链接生成,主要通过视图上下文.控制器上下文的Url对象 Url对象实现了IUrlHelper接口,主要功能是获取网站的相对目录,也可以将'~'发号开头的转换成相对目录. // // 摘要: // Defines the contract for the helpe

JAVA开发中相对路径,绝对路径全面总结

JAVA开发中相对路径,绝对路径全面总结 博客分类: Java综合 JavaJSP应用服务器Servlet网络应用 1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://www.sun.com/index.htm也代表了一个 URL绝对路径. 相对路径:相对与某个基准目录的路径.包含Web的相对路径(HTML中的相对目录),例如:在 Servlet中,"/