我想在运行时编辑wwwroot的内容,如何映射~/wwwroot
(是否有像VirtualPathUtility
这样的实用程序?)
VirtualPathUtility.ToAbsolute("~/wwwroot")
不起作用(预期)
答案 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();
}
}