首页 > 解决方案 > 从 wwwroot 下载 html 文件一直显示 Not Found 错误

问题描述

我正在尝试下载放在 wwwroot 中的 .html 文件。

这是功能:

public FileResult Download()
{
    var file = Path.Combine(System.IO.Directory.GetCurrentDirectory(),"EmailTemplate","base.html");
    var x = System.IO.File.Exists(file);
    var result = File(file, MediaTypeNames.Text.Html);
    return result;
}

我试图检查文件是否存在,但它返回 false。文件变量显示文件的路径,即:

wwwroot\EmailTemplate\base.html

我不确定我还需要做什么。

编辑:

app.UseStaticFiles(
    new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "EmailTemplate")),
        RequestPath = "/EmailTemplate"
    }
);

这是我添加到我的 Startup.cs

标签: c#asp.netasp.net-mvcasp.net-core

解决方案


确保文件中有app.UseStaticFiles();你的Configure方法Startup

在您的控制器中,您可以注入一个IHostingEnvironment接口并使用它来检索您的wwwroot路径,例如:

_hostingEnvironment.WebRootPath;

推荐阅读