我希望能够从控制器中的代码浏览 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 次 |
最近记录: |