.net 获取网站根目录总结

一、获取网站根目录的方法有几种如:

  Server.MapPath(Request.ServerVariables["PATH_INFO"])    //页面详细路
  Server.MapPath("/")   //根目录
  Server.MapPath("")        //当前代码文件所在的目录路径   
  Server.MapPath(".")  
  Server.MapPath("../") //当前代码所在路径的上级路径 
  Server.MapPath("..") 
    Page.Request.ApplicationPath 

以上的代码在"http://localhost/EnglishClub/manage/WebForm1.aspx" 页面运行结果: 

C:\Inetpub\wwwroot\EnglishClub\manage\WebForm1.aspx  
C:\Inetpub\wwwroot\  
C:\Inetpub\wwwroot\EnglishClub\manage  
C:\Inetpub\wwwroot\EnglishClub\manage  
C:\Inetpub\wwwroot\EnglishClub\  
C:\Inetpub\wwwroot\EnglishClub
/

以上的方法可以在.aspx中访问,但是如果你在 .cs文件就不能用。

下面两个都可以在.cs文件中用:

HttpContext.Current.Server.MapPath();//所在文件夹路径
System.Web.HttpContext.Current.Request.PhysicalApplicationPat;//根路径

HttpContext.Current.Server.MapPath();这个获取的是文件的路径而不是根目录。

System.Web.HttpContext.Current.Request.PhysicalApplicationPath 这个才是获取的根目录,在写获取数据库路径是应该用这个,其他的都有问题。

System.Web.HttpContext.Current.Request.PhysicalApplicationPath和Server.MapPath("~/")效果是一样的。

Server.MapPath("~/");//无论代码所在的文件的、页面路径是什么,永远返回 C:\Inetpub\wwwroot\EnglishClub\(就是当前程序运行的所在根目录)

如果存储附件的路径到数据库的话,不应该把绝对路径存进去。应该只存储 文件名部分。

例如:/uploads/abc.txt

当需要浏览文件的时候,在在读取出来的路径:(即/uploads/abc.txt),前面+网站的路径:例如:http://abc.com+"/uploads/abc.txt"

二.线程中获取系统路径

以上都是在web程序引用下获取路径,

在多线程里面使用HttpContext.Current,HttpContext.Current是得到null的.

所以以上方法在线程中直接使用是不行的。

在线程中得到系统根路径可以用此方法:

        public static string MapPath(string strPath)
        {
            if (HttpContext.Current != null)
            {
                return HttpContext.Current.Server.MapPath(strPath);
            }
            else //非web程序引用
            {
                strPath = strPath.Replace("/", "\\");
                if (strPath.StartsWith("\\"))
                {
                    //strPath = strPath.Substring(strPath.IndexOf(‘\\‘, 1)).TrimStart(‘\\‘);
                    strPath = strPath.TrimStart(‘\\‘);
                }
                return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
            }
        } 

时间: 2024-10-15 01:15:05

.net 获取网站根目录总结的相关文章

js获取网站根目录

<script type="text/javascript"> function getRootPath() { var strFullPath = window.document.location.href; var strPath = window.document.location.pathname; var pos = strFullPath.indexOf(strPath); var prePath = strFullPath.substring(0, pos);

PHP中如何获取网站根目录物理路径

在php程序开发中经常需要获取当前网站的目录,我们可以通过常量定义获取站点根目录物理路径,方便在程序中使用. 下面介绍几种常用的获取网站根目录的方法. php获取网站根目录方法一: <?php define("WWWROOT",str_ireplace(str_replace("/","\\",$_SERVER['PHP_SELF']),'',__FILE__)."\\"); echo WWWROOT ; ?> p

.net 获取网站根目录的方法

获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) Server.MapPath("/") Server.MapPath("")//当前代码文件所在的目录路劲 Server.MapPath(".") Server.MapPath("../") Server.MapPath("..") 以上的代码在htt

php获取网站根目录

php获取网站根目录方法一:<?phpdefine("WWWROOT",str_ireplace(str_replace("/","\\",$_SERVER['PHP_SELF']),'',__FILE__)."\\");echo WWWROOT ;?> php获取网站根目录方法二: <?phpdefine('WWW_PATH',str_replace('\\','/',realpath(dirname(__

php 获取网站根目录的写法

路径方式,代码如下: define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/"); echo BASE_PATH; //输出结果:D:\AppServ\www\7.11 php 获取网站根目录的写法

ASP.NET中Server.MapPath方法获取网站根目录

在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径,如D:\website\content这种形式.以下是一些Server.MapPath常用的获取网站目录的方法.(1)Server.MapPath("/") :获取网站的根目录(2)Server.MapPath(&qu

再谈获取网站图标Icon

上一篇文章讨论了一下获取网站图标方法,是通过从根目录直接获取和html解析结合的方式来获取的,并给出了相应的代码示例.这一篇来讨论一个更现成的方法,这个方法是从360导航的页面发现的,在导航页面中点击添加网址,会弹出一个添加网址的对话框,点击126邮箱,可以看到126邮箱和图标就跑到上面去了.查看一下网络监控,可以看到Request URL是http://cdn.website.h.qhimg.com/index.php?domain=www.126.com,Request Method是GET

获取网站标签Icon

通常情况下,做网站的都会给自己的网站添加一个Icon,浏览器上一长排的标签页,用Icon来区分就显得更加醒目.现在想找一个没有Icon的网站并不好找,可见没有Icon的网站是多么的业余啊."什么?你问Icon是什么?你走吧,这是讨论技术的地方!" 想知道如何获取Icon,就要弄明白怎样设置Icon.先讨论一下设置Icon,再介绍获取Icon,并提供相应Java代码以供参考. 一. 设置网站Icon 设置Icon有两种方式: 1. 看一下我们专业的博客园,看到灰色部分了吗,在head标签

C#实现根据给出的相对地址获取网站绝对地址的方法

本文实例讲述了C#实现根据给出的相对地址获取网站绝对地址的方法.分享给大家供大家参考.具体分析如下: 这段C#代码在ASP.NET的项目中可以根据给定的相对地址获取绝对访问地址,例如:给出 /codes/index.php 可以返回http://www.jb51.net/codes/index.php的绝对地址结果. /// <summary> /// 根据给出的相对地址获取网站绝对地址 /// </summary> /// <param name="localPa