📌  相关文章
📜  从 wwwroot 文件夹获取 .net core 中的文件路径 - C# (1)

📅  最后修改于: 2023-12-03 15:06:32.807000             🧑  作者: Mango

从 wwwroot 文件夹获取 .NET Core 中的文件路径 - C#

在 .NET Core 中,wwwroot 是一个默认的静态文件目录。你可以将静态资源(如 JavaScript、CSS 或图像)放在 wwwroot 目录中,供浏览器直接访问。本文将为您展示如何在 .NET Core 应用程序中获取 wwwroot 目录中的文件路径。

获取 wwwroot 路径

要获取 wwwroot 目录的路径,您可以使用 IHostingEnvironment 接口的 WebRootPath 属性。这是一个在 ASP.NET Core 中常见的服务,可用于访问应用程序的配置和运行时环境信息。

using Microsoft.AspNetCore.Hosting;

public class HomeController : Controller
{
    private readonly IHostingEnvironment _hostingEnvironment;

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

    public IActionResult Index()
    {
        var webRootPath = _hostingEnvironment.WebRootPath;
        return View();
    }
}

在上面的示例中,我们在 HomeController 中注入了 IHostingEnvironment。然后,我们在 Index() 方法中使用 WebRootPath 属性来获取 wwwroot 目录的路径。您可以像这样在您的代码中使用该路径。

获取 wwwroot 文件路径

一旦您知道如何获取 wwwroot 目录的路径,获取其中的文件路径也非常简单。只需使用 Path.Combine 方法将 wwwroot 目录路径和所需文件的相对路径组合即可。

using Microsoft.AspNetCore.Hosting;
using System.IO;

public class HomeController : Controller
{
    private readonly IHostingEnvironment _hostingEnvironment;

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

    public IActionResult Index()
    {
        var webRootPath = _hostingEnvironment.WebRootPath;
        var filePath = Path.Combine(webRootPath, "file.txt");
        return View();
    }
}

在上面的示例中,我们使用 Path.Combine 方法将 wwwroot 目录的路径和一个名为 "file.txt" 的文件的相对路径组合。这将返回 wwwroot/file.txt 的完整路径。您可以像这样打开或操作文件。

结论

获取 wwwroot 目录中的文件路径是一项简单而重要的任务,让您可以轻松地在 .NET Core 应用程序中处理静态资源。在本文中,我们向您展示了如何获取 wwwroot 目录的路径以及如何使用 Path.Combine 方法获取文件的完整路径。这些技术对于开发任何 ASP.NET Core 应用程序来说都是必不可少的。


参考: