zoukankan      html  css  js  c++  java
  • 认识Asp.net 中相对路径与绝对路径

    好多人对相对路径与绝对路径老是混淆记不清楚,我从整理了一下,希望对大家的认识有帮助。

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    1.Request.ApplicationPath->当前应用的目录
    Jsp中, ApplicationPath指的是当前的application(应用程序)的目录,ASP.NET中也是这个意思。
    对应的--例如我的服务器上有两个web应用域名都是mockte.com 一个映射到目录mockte.com/1/ 另一个影射到 http://mockte.com/2/
    那么mockte.com/1/就是第一个应用的ApplicationPath 同理 mockte.com/2/就是第二个应用的ApplicationPath

    2.Request.FilePath->对应于iis的虚拟目录
    如 URL http://mockte.com/1/index.html/pathinfo
    FilePath = /1/index.html

    3.Request.Path->当前请求的虚拟路径
    Path 是 FilePath 和 PathInfo 尾部的串联。例如 URL http://mockte.com/1/index.html/pathinfo
    那么Path = /1/index.html/pathinfo

    4.Request.MapPath(string url)->将url映射为iis上的虚拟目录
    这个目录都是相对于application的根目录的
    于Server.MapPath相比,不会包含类似c:/这样的路径
    可以理解为是相对路径(对比的Server.MapPath就是绝对路径)

    5.Server.MapPath(string url)->将url映射为服务器上的物理路径
    例如 http://mockte.com/1/index.html 假设你的应用程序在c:/iis/MySite中
    那么就是 c:/iis/MySite/1/index.html

    //本地路径转换成URL相对路径
         private string urlconvertor(string imagesurl1)
        
    {
            
    string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
            string imagesurl2 = imagesurl1.Replace(tmpRootDir, ""); //转换成相对路径
             imagesurl2 = imagesurl2.Replace(@"\", @"/");
            
    //imagesurl2 = imagesurl2.Replace(@"Aspx_Uc/", @"");
            return imagesurl2;
         }

        
    //相对路径转换成服务器本地物理路径
        private string urlconvertorlocal(string imagesurl1)
        
    {
            
    string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
            string imagesurl2 = tmpRootDir + imagesurl1.Replace(@"/", @"\"); //转换成绝对路径
             return imagesurl2;
         }


    1.使用filePath="/Logs/abc.txt",被认为是根目录,即网页文件所在的盘符,默认的是C盘,则在这里这个路径被解释为"C:\Logs\abc.txt"

    2.使用filePath="~/Logs/abc.txt",被认为是服务器的目录

    3.使用filePath="./Logs/abc.txt",仍然是服务器目录下

     

     

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • 相关阅读:
    Codeforces Round #592 (Div. 2)C. The Football Season(暴力,循环节)
    Educational Codeforces Round 72 (Rated for Div. 2)D. Coloring Edges(想法)
    扩展KMP
    poj 1699 Best Sequence(dfs)
    KMP(思路分析)
    poj 1950 Dessert(dfs)
    poj 3278 Catch That Cow(BFS)
    素数环(回溯)
    sort与qsort
    poj 1952 buy low buy lower(DP)
  • 原文地址:https://www.cnblogs.com/kingboy2008/p/2055577.html
Copyright © 2011-2022 走看看