我希望能够从控制器中的代码浏览 Web 根目录中的目录(例如我的 \img 目录或 \pdf 目录)。
我想使用以下内容,其中env是一个实例IWebHostEnvironment:
var provider = env.WebRootFileProvider;
var path = env.WebRootPath;
Run Code Online (Sandbox Code Playgroud)
我不确定如何IWebHostEnvironment从控制器中获取 的实例。如何才能做到这一点?
您可以使用依赖注入将IWebHostEnvironment实例注入控制器。在构造函数中:
public class MyController : Controller
{
private readonly IWebHostEnvironment _env;
public MyController(IWebHostEnvironment env)
{
_env = env;
}
}
Run Code Online (Sandbox Code Playgroud)
或在任何或控制器的方法中:
public class MyController : Controller
{
[HttpGet]
public IActionResult Me([FromServices] IWebHostEnvironment env)
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,默认WebRootFileProvider指向wwwroot文件夹,因此您需要确保它存在,否则您将获得NullFileProvider.
| 归档时间: |
|
| 查看次数: |
9598 次 |
| 最近记录: |