Request.MapPath和Server.MapPath的区别
string path = Request.MapPath(@"~\files\"+fileName);//将指定的虚拟路径映射到物理路径 string serverpath = Server.MapPath(@".\files\" + fileName);//返回与web服务器上的指定虚拟路径相对应的物理路径 //上面两个返回一样: E:\VSProject\EFDemo\WebTest\files\信息搜集.xls
我们看到后面的注释就是vs显示的方法作用。
然后解释一下:
1,
/ 念 反斜杠,/ 是超文本协议的路径分隔符号,所有的网站在浏览器中显示的路径分隔都是以"/"表示.它一般代表虚拟路径.
\ 念 斜杠,在普通程序代码中则以"\"表示文件路径分隔符号.它一般指物理路径.
2,
1.Server.MapPath ("/") 应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\
2.Server.MapPath ("./") 表示所在页面的当前目录
注:等价于Server.MapPath ("") 返回 Server.MapPath ("")所在页面的物理文件路径
3.Server.MapPath ("../")表示上一级目录
4.Server.MapPath ("~/")表示当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置
如:C:\Inetpub\wwwroot\Example\ 注:等效于Server.MapPath ("~")。
此随笔或为自己所写、或为转载于网络。仅用于个人收集及备忘。