文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术服务器将Web站点下的绝对路径转换为虚拟路径
精品推荐
特别推荐
·代理服务器使用原理与选购细则
·统计分析Web服务器日志
·反恐精英CS服务器架设详解
·服务器常见故障的诊断与解决
·服务器性能评估的实战技巧
·Windows 2000 Server网络组件简介
·入门到精通:负载均衡技术全攻略
·教你如何用双SATA硬盘组建RAID系统
·分析并清除web服务器上的网页木马
·安装IIS后出现500错误的解决办法
·Apache下服务器虚拟主机的设置
·怎样选择合适的服务器规避风险
·服务器虚拟化的十大必须考虑因素
·谨慎:整合服务器时易犯十个错误
·IIS虚拟主机网站防木马权限设置安全配置整理
·服务器常见软件故障分析及解决
·浅谈如何为服务器安全地进行升级
·必须了解的五个服务器基础问题
·电影服务器协议、架设及防范配置
·服务器端口大全
热点TOP10
·图文详解 Windows 2003服务器集群安装
·解决与HTTP 500 – 内部服务器错误错误信息有关的问题
·Apache+PHP+MySQL+Wordpress 本地架设笔记
·HTTP500内部服务器错误修正办法
·何谓HTTP 500内部服务器错误
·Helix流媒体服务器架设及RMVB制作教程
·代理服务器使用原理与选购细则
·FreeBSD 6.2快速架设网站服务器教程
·用于管理活动目录的11个基本工具
·ISA Server Firewall简介
·linux7.2安装Qmail_setup-v1.5.2.tar
·网吧电影视频服务器架设完全入门教程
·Apache XML Project介绍
·板载RAID功能制作磁盘阵列并安装操作系统
·英迈国际(中国)有限公司
·教育信息存储:公共信息平台整合数据孤岛
·[Cluster]在Win2000 Advanced Server上安装Cluster
·配置SATA RAID阵列卡(本文仅供参考)
·Red Hat Linux Enterprise 3.0 AS系统图形安装文档
·DELL PowerEdge服务器新版DOSA光盘4.X引导安装图解文档

将Web站点下的绝对路径转换为虚拟路径

日期:2006年7月22日 作者: 查看:[大字体 中字体 小字体]


很经常使用到的一个功能,但在在网上却一直没有找到相关的解决方法,今天借着项目应用到的机会写了两个将绝对路径转换为虚拟路径封装好的方法
将Web站点下的绝对路径转换为相对于指定页面的虚拟路径
/**//// <summary>
/// 将Web站点下的绝对路径转换为相对于指定页面的虚拟路径
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="specifiedPath">绝对路径</param>
/// <returns>虚拟路径, 型如: ../../</returns>
public static string ConvertSpecifiedPathToRelativePathForPage(Page page, string specifiedPath)
{
    // 根目录虚拟路径
    string virtualPath = page.Request.ApplicationPath;
    // 根目录绝对路径
    string pathRooted = HostingEnvironment.MapPath(virtualPath);
    // 页面虚拟路径
    string pageVirtualPath = page.Request.Path;

    if (!Path.IsPathRooted(specifiedPath) specifiedPath.IndexOf(pathRooted) == -1)
    {
        throw new Exception(string.Format("\"{0}\"是虚拟路径而不是绝对路径!", specifiedPath));
    }

    // 转换成相对路径
    //(测试发现,pathRooted 在 VS2005 自带的服务器跟在IIS下根目录或者虚拟目录运行似乎不一样,
    // 有此地方后面会加"\", 有些则不会, 为保险起见判断一下)
    if (pathRooted.Substring(pathRooted.Length - 1, 1) == "\\")
    {
        specifiedPath = specifiedPath.Replace(pathRooted, "/");
    }
    else
    {
        specifiedPath = specifiedPath.Replace(pathRooted, "");
    }

    string relativePath = specifiedPath.Replace("\\", "/");

    string[] pageNodes = pageVirtualPath.Split('/');

    // 减去最后一个页面和前面一个 "" 值
    int pageNodesCount = pageNodes.Length - 2;

    for (int i = 0; i < pageNodesCount; i++)
    {
        relativePath = "/.." + relativePath;
    }

    if (pageNodesCount > 0)
    {
        // 如果存在 ".." , 则把最前面的 "/" 去掉
        relativePath = relativePath.Substring(1, relativePath.Length - 1);
    }

    return relativePath;
}

第二个方法显然是从第一个方法中的前部分抽取出来的,所以懒得去添加相关注释 :P

[1] [2] 下一页 




上一篇:鼠标滚轮在Maxthon中的巧用三招

下一篇:通过Remoting service上传文件

将Web站点下的绝对路径转换为虚拟路径 相关文章:
·3GP手机视频转换工具WinAVI
·打造极速XP系统之绝对秘籍
·十八个绝对经典的人生感悟
·MPEG、RM、WMV电影文件格式转换指南
·转换MP4/3GP格式的至尊法宝---MP4/RM转换专家
·怎么用虚拟光驱装系统?
·绝对好用的注册表技巧
·绝对养眼:Windows XP艺术诱惑壁纸赏
·RM转换精灵V 7.1主程序脱壳
·将VCD转换成RM格式转换就这么简单
将Web站点下的绝对路径转换为虚拟路径 相关软件:
·RM转换精灵V6.3
·黑客视频教程 VMware虚拟机的安装和使用
·MP4/RM转换专家V9.7 Build 4660 白金版
·WisMencoder(视频压缩、转换软件)V1.99 正式版
·3GP转换器 V2.5
·9158虚拟视频特效v4.0
·碟中碟3虚拟光驱V3.78
·简繁体版本转换大师 V1.5
·全能格式转换(Konvertor) V3.45.1 汉化版
·绝对是个梦

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot