如何解决MVC5中的wwwroot路径

时间:2015-10-01 15:57:32

标签: c# asp.net asp.net-mvc-5

我想在运行时编辑wwwroot的内容,如何映射~/wwwroot(是否有像VirtualPathUtility这样的实用程序?)

VirtualPathUtility.ToAbsolute("~/wwwroot")不起作用(预期)

1 个答案:

答案 0 :(得分:2)

首先在控制器的构造函数中注入Microsoft.AspNet.Hosting.IHostingEnvironment,然后使用MapPath方法,如下所示:

public class FooController : Controller
{
    private readonly IHostingEnvironment _hostingEnvironment;

    public FooController(IHostingEnvironment hostingEnvironment)
    {
        _hostingEnvironment= hostingEnvironment;
    }

    public IActionResult Bar()
    {
        // this maps to /wwwroot folder
        var wwwroot = _hostingEnvironment.MapPath("");

        // this maps to /wwwroot/someFolder
        var someFolder=_hostingEnvironment.MapPath("someFolder");
        return View();
    }
}