mappath使用介绍,Server.mappath和Request.mappath 有什么区别、及使用方法
2017-10-14 15:38
519 查看
一、基础知识:
(1)MapPath返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径的一种方法。命名空间:
System.Web。其使用语法为:
Server.MapPath(path); 或者 Request。MapPath(path);
(2)参数:path表示Web服务器上的虚拟路径,如果path值为空,则该方法返回包含当前应用程序的完整物理路径。
(3)注意事项:Server.MapPath()有时在程序调试时会提示“当前上下文中不存在名称“Server””错误,从而不支持函数Server.MapPath()的使用。尽管引用了命名空间“using
System.Web;”也是无济于事,此时就需要使用其全名,或者是当前使用Server.MapPath()函数的类继承自System.Web.UI.Page。
二、Server.mappath的使用:
假设当前的网站目录为E:\wwwroot
应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\company\news\ 下面的一个 aspx页面。
在该页面中使用
Server.MapPath("") :返回当前页面所在的物理文件路径:E:\wwwroot\company\news
Server.MapPath("/") :返回应用程序根目录所在的物理文件路径:E:\wwwroot
Server.MapPath("./") :返回当前页面所在的物理文件路径:E:\wwwroot\company\news
Server.MapPath("../"):返回当前页面所在的上一级的物理文件路径:E:\wwwroot\company
Server.MapPath("~/"):返回应用程序的虚拟目录(路径):E:\wwwroot\company
Server.MapPath("~"):返回应用程序的虚拟目录(路径):E:\wwwroot\company
三、ASP.NET中Server.MapPath()
和 Request.MapPath()区别:
Server.MapPath(string) :是将相对于当前调用文件的文件(或目录)映射为物理路径;
Request.MapPath(string) :是将string虚拟路径映射为物理路径(asp中Request无此方法)
Server.MapPath(string) 中string 可以用“../”方式引用父目录,甚至可以将此目录跳到整个WEB目录外,如:C:\WWWROOT
目录为WEB根目录,在根目录文件中调用此Server.MapPath(
9908
"../xyz.gif"),则可以调用WEB目录外的脚本、资源等。
Request.MapPath(string) 中的string为虚拟目录,只能相对WEB虚拟目录形式的,也不允许"../"方式调用,只能是"/","/xx"等字符串
有时候直接用Server.MapPath(string) 调用一个文件比较麻烦,因为不同的目录中调用同一个Server.MapPath(string) 函数就会得到不同的值,
特殊的话,就需要通过判断本身目录层次才能获取正确的地址,使用的Request.MapPath(string)就可以调用同一个目录文件。不用做目录判断
(1)MapPath返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径的一种方法。命名空间:
System.Web。其使用语法为:
Server.MapPath(path); 或者 Request。MapPath(path);
(2)参数:path表示Web服务器上的虚拟路径,如果path值为空,则该方法返回包含当前应用程序的完整物理路径。
(3)注意事项:Server.MapPath()有时在程序调试时会提示“当前上下文中不存在名称“Server””错误,从而不支持函数Server.MapPath()的使用。尽管引用了命名空间“using
System.Web;”也是无济于事,此时就需要使用其全名,或者是当前使用Server.MapPath()函数的类继承自System.Web.UI.Page。
二、Server.mappath的使用:
假设当前的网站目录为E:\wwwroot
应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\company\news\ 下面的一个 aspx页面。
在该页面中使用
Server.MapPath("") :返回当前页面所在的物理文件路径:E:\wwwroot\company\news
Server.MapPath("/") :返回应用程序根目录所在的物理文件路径:E:\wwwroot
Server.MapPath("./") :返回当前页面所在的物理文件路径:E:\wwwroot\company\news
Server.MapPath("../"):返回当前页面所在的上一级的物理文件路径:E:\wwwroot\company
Server.MapPath("~/"):返回应用程序的虚拟目录(路径):E:\wwwroot\company
Server.MapPath("~"):返回应用程序的虚拟目录(路径):E:\wwwroot\company
三、ASP.NET中Server.MapPath()
和 Request.MapPath()区别:
Server.MapPath(string) :是将相对于当前调用文件的文件(或目录)映射为物理路径;
Request.MapPath(string) :是将string虚拟路径映射为物理路径(asp中Request无此方法)
Server.MapPath(string) 中string 可以用“../”方式引用父目录,甚至可以将此目录跳到整个WEB目录外,如:C:\WWWROOT
目录为WEB根目录,在根目录文件中调用此Server.MapPath(
9908
"../xyz.gif"),则可以调用WEB目录外的脚本、资源等。
Request.MapPath(string) 中的string为虚拟目录,只能相对WEB虚拟目录形式的,也不允许"../"方式调用,只能是"/","/xx"等字符串
有时候直接用Server.MapPath(string) 调用一个文件比较麻烦,因为不同的目录中调用同一个Server.MapPath(string) 函数就会得到不同的值,
特殊的话,就需要通过判断本身目录层次才能获取正确的地址,使用的Request.MapPath(string)就可以调用同一个目录文件。不用做目录判断
相关文章推荐
- ASP.NET中Server.MapPath() 和 Request.MapPath()使用区别(于三份资料中提取)
- Server.MapPath() 和 Request.MapPath()使用区别
- 如何在C#中使用HttpServerUtility.MapPath()方法
- asp.net .ashx文件使用Server.MapPath解决方法
- ASP.NET中Server.MapPath() 和Request.MapPath()使用
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、Server.MapPath的区别
- Server.MapPath 的使用方法
- C# 在类库文件无法使用Server.MapPath解决方法
- JS教程:window.location使用方法的区别介绍
- asp.net .ashx,cs文件使用server.mappath解决方法
- JS教程:window.location使用方法的区别介绍
- Server.MapPath的使用方法
- 使用Java实现简单的server/client回显功能的方法介绍
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、Server.MapPath的区别
- asp.net .ashx文件使用server.mappath解决方法
- Server.MapPath的使用方法
- 使用Java实现简单的server/client回显功能的方法介绍
- Request.ServerVariables["REMOTE_ADDR"]的使用方法
- c#类文件下使用Server.MapPath()方法
- asp.net .ashx文件使用Server.MapPath解决方法