获取asp.net mvc中的当前目录

Mic*_*elS 19 asp.net-mvc-3

我正在尝试构造一个文件路径以读取XSLT文件,如下所示:

string path = "../_xslt/example.xslt";
StreamReader reader = new StreamReader(path); 
Run Code Online (Sandbox Code Playgroud)

...我在控制器(/Controllers/ExampleController.cs)中,'/ _xslt /'文件夹与'/ Controllers'处于同一级别

但是,我得到的错误是:

(System.IO.DirectoryNotFoundException)找不到路径'c:\ windows\system32\_xslt\example.xslt'的一部分.

我是以错误的方式来做这件事的吗?

谢谢你的帮助!

Ric*_*lly 30

您可以使用HttpServerUtility.MapPath方法为您映射任何相对路径,在控制器中可通过以下方式轻松访问ControllerContext:

string path = ControllerContext.HttpContext.Server.MapPath("~/_xslt/example.xslt");
...
Run Code Online (Sandbox Code Playgroud)


小智 6

string TestX()
{
    string path = AppDomain.CurrentDomain.BaseDirectory; // You get main rott
    string dirc = ""; // just var for use
    string[] pathes = Directory.GetDirectories(path); // get collection

    foreach (string str in pathes)
    {
        if (str.Contains("NameYRDirectory")) // paste yr directory
        {
            dirc = str;
        }
    }

    return dirc; // after use Method and modify as you like
}
Run Code Online (Sandbox Code Playgroud)