C#获取应用程序路径或Web页面目录路径

2022-11-13 08:11:34 路径 应用程序 获取

一、winform获取本程序的路径

1、获取当前目录

返回最后不带“\”的目录:如D:\WinfORM\bin\Debug

System.windows.Forms.Application.StartupPath;
System.Environment.CurrentDirectory;
System.IO.Directory.GetCurrentDirectory();

返回最后带“\”的目录(AppDomain应用程序域):如D:\Winform\bin\Debug\

System.AppDomain.CurrentDomain.BaseDirectory;
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

2、获取当前文件路径

System.Windows.Forms.Application.ExecutablePath;
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
System.Reflection.Assembly.GetExecutingAssembly().CodeBase; //或者
System.Reflection.Assembly.GetAssembly(typeof(类名)).CodeBase; //利用反射获取当前程序集的位置
typeof(类名).Assembly.Location;//利用反射

二、WEBForm获取文件路径

虚拟目录名:WebSite1

指向:E:\mis\tools

本网页:Http://localhost/WebSite1/folder/WebForm1.aspx

1、获取虚拟目录

根相对路径:

System.Web.HttpRuntime.AppDomainAppVirtualPath;
Request.ApplicationPath;

根绝对路径:

AppDomain.CurrentDomain.BaseDirectory;
Request.PhsicalApplicaitonPath; 
Server.MapPath(“~”) \\ Server.MapPath("/WebSite1")

2、获取文件路径

当前文件相对路径、绝对路径

Request.Path      //相对路径 /WebSite1/folder/WebForm1.aspx
Request.PhsicalPath      //绝对路径 E:\mis\tools\folder\WebForm1.aspx
Request.AppRelativeCurrentExecutionFilePath      //~/folder/WebForm1.aspx

当前目录

Server.MapPath(”.”)或Server.MapPath(””);      //E:\mis\tools\folder
Server.MapPath(”./1.jpg”)或Server.MapPath(”1.jpg”);     //E:\mis\tools\folder\1.jpg

上一目录

Server.MapPath(”..”)     // E:\mis\tools
Server.MapPath(”../1.jpg”) //(””);     //E:\mis\tools\1.jpg 上一目录下的1.JPG文件
Server.MapPath(”../..”)     //C:\inputpub\wwwroot 上一目录的上一目录,到了顶目录wwwroot

根目录

Server.MapPath(”/”)  //C:\inputpub\wwwroot

note:在html文件中,用”./”、”../”、”/”表示相对路径和绝对路径。

到此这篇关于C#获取文件路径的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

相关文章