ASP.NET Request.MapPath() 与 Server.MapPath()

  • Request.MapPath():将指定的虚拟路径映射到物理路径。参数:当前请求的虚拟路径(绝对路径或相对路径)。
  • Server.MapPath():返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径。参数: Web 服务器的虚拟路径。
  • 返回值:由虚拟路径映射到的服务器物理路径。注意:只是映射,并不一定就存在。
  • 特殊参数
    • //  当前目录(./) 此处参数为点和空串效果相同。   E:\解决方案\项目\zz\qq
      Request.MapPath(./qq);
      Server.MapPath(./qq);
      Request.MapPath(qq);
      Server.MapPath(qq);
      
      //  上级目录(../) 如果已经是根则会抛异常。   E:\解决方案\项目\qq
      Request.MapPath(../qq);
      Server.MapPath(../qq);
      
      //  服务器根(/)  C:\inetpub\wwwroot\qq
      Request.MapPath(../qq);
      Server.MapPath(../qq);
      
      //  虚拟目录根(~/)  E:\解决方案\项目\qq
      Request.MapPath(~/qq);
      Server.MapPath(~/qq);
  • 区别:目前没有发现区别,遇到的时候再补,有遇到的也可以给我留言。
  • :Request.MapPath() 重载方法:
    • 参数:
      • virtualPath:当前请求的虚拟路径(绝对路径或相对路径)。
      • baseVirtualDir:用于相对解析的虚拟基目录路径。
      • allowCrossAppMapping:true 表示 virtualPath 可能属于另一个应用程序;否则,为 false。
    • 返回:服务器上的物理路径。
    • 说明:以第二个参数为相对目录,然后开始映射第一个参数
    • 注意
      • 第一个参数不能以  / 或 ~/ 开始,此时第二个参数无效。
      • 第二个参数不能为相对路径,即必须以 / 或 ~/ 开始。
      • 如果第三个参数为 False,则第二个参数必须以 ~/ 开始。
    • 示例:
      • Request.MapPath(qq, ~/zz, false);   //	E:\解决方案\项目\zz\qq
        Request.MapPath(qq, /zz, true);     //  C:\inetpub\wwwroot\zz\qq
        Request.MapPath(/qq, /zz, true);    //	C:\inetpub\wwwroot\qq(此时根本不检查第二个参数)

转载于:https://www.cnblogs.com/Empty2011/archive/2011/08/23/2150290.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值