.NET C#:Server.MapPath("./")+"File" 此句代码解释。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET C#:Server.MapPath("./")+"File" 此句代码解释。相关的知识,希望对你有一定的参考价值。

Server.MapPath
是取得指定虚路径(就是搂主在IIS里看到的那些)的实际物理路径。
Server.MapPath
("./")
取得的时当前URL所在虚路径对应的物理路径。
例如:假定网站根目录在c:\www\server.com\访问http://server.com/up/uploadFile.aspx
那么Server.MapPath
("./")取到的是c:\www\server.com\up\
其中的.是指当前路径的意思。
如果是../就是指上一级路径。在上一个例子里就是c:\www\server.com\
如果想放在picture上,那么保险的做法是:
Server.MapPath
("/up/PICTURE/");其中的第一个/是指网站的根目录。
/
是不用转义的,
\才需要转义,呵呵。
参考技术A 比如你新建了个WEB程序,该程序命名空间为test
问题1:是服务器上传路径,如果是本机做服务器测试,则实际为:c:\inetpub\wwwroot\listbox1\
问题2:为一个点的时候为:c:\inetpub\wwwroot\test
为./的时候为:c:\inetpub\wwwroot\test\
为两个点的时候为:c:\inetpub\wwwroot
为三个点以上的时候为:c:\inetpub\wwwroot\test\.....(后面的点数跟你MAPPATH里的点个数一样)
问题3:Server.MapPath("./")+"File\\Kiss";或Server.MapPath(".")+"\\File\\Kiss";
参考技术B Server.MapPath("./")+"File";
是把File文件的路径索寻到,然后付值给FilePath.
2.
"./"是找寻File文件的上一级的文件路径.
3.不可以有更多的点,这是固定的找寻上级文件路径的方式.
4.这个我也说不好了,期待高手来回答吧...
参考技术C 1、是服务器的上传路径
2、./一个点是指根目录
如果改成两个点就是指当前服务器所在文件目录的上一级目录,更多点没意义
3、string
FilePath=Server.MapPath("./")+"File//KISS";
因为/是需要转译的,所以要写两个

asp.net中Server.MapPath的使用

http://www.studyofnet.com/news/184.html
 
本文导读:Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。作用是返回与Web服务器上的指定虚拟路径相对应的物理文件路径。其参数path为Web 服务器的虚拟路径,返回结果是与path相对应的物理文件路径。但有时参数并非为虚拟路径,而是用户自定义的文件名。

Server.MapPath方法作用

MapPath方法用来返回与Web服务器上的指定虚拟路径相对应的物理文件路径。

语法
Server.MapPath(path);

参数
path表示Web服务器上的虚拟路径,如果path值为空,则该方法返回包含当前应用程序的完整物理路径。

注意事项

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("../脚本文件"),则可以调用WEB目录外的脚本、资源等。

Request.MapPath(string) 中的string为虚拟目录,只能相对WEB虚拟目录形式的,也不允许"../"方式调用,只能是"/","/xx"等字符串





以上是关于.NET C#:Server.MapPath("./")+"File" 此句代码解释。的主要内容,如果未能解决你的问题,请参考以下文章

C# 如何获取当前应用程序的上一级路径

asp.net中Server.MapPath的使用

ASP.NET Core 中的 Server.MapPath 等价物是啥?

asp.net中Server.MapPath是啥意思?

C#文件目录操作完全手册

C# 获取网站根目录总结