gpt4 book ai didi

c# - 如何从 ASP.NET Core 3 Controller 中访问 IWebHostEnvironment?

转载 作者:行者123 更新时间:2023-12-03 19:43:33 24 4
gpt4 key购买 nike

我希望能够从 Controller 中的代码浏览 Web 根目录中的目录(例如我的\img 目录或\pdf 目录)。

我想在 env 处使用类似下面的东西是 IWebHostEnvironment 的一个实例:

var provider = env.WebRootFileProvider;
var path = env.WebRootPath;

我不确定如何获取 IWebHostEnvironment 的实例从 Controller 内部。如何才能做到这一点?

最佳答案

您可以使用依赖注入(inject)来注入(inject) IWebHostEnvironment实例到您的 Controller 中。在构造函数中:

public class MyController : Controller
{
private readonly IWebHostEnvironment _env;
public MyController(IWebHostEnvironment env)
{
_env = env;
}
}

或以任何或 Controller 的方法:

public class MyController : Controller
{
[HttpGet]
public IActionResult Me([FromServices] IWebHostEnvironment env)
{
return View();
}
}

注意默认 WebRootFileProvider指向 wwwroot文件夹,所以你需要确保它存在,否则你会得到一个 NullFileProvider .

关于c# - 如何从 ASP.NET Core 3 Controller 中访问 IWebHostEnvironment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59304961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com