0

我有一个 .NET Core 2.0 解决方案,其中包含 3 个项目(DataAccess、Services、WebAPI)。在 WebAPI 项目的 wwwroot 文件夹中,我创建了一个包含几个 Excel 模板文件的模板文件夹。在服务中,我有一个包含 ExportService 的导出文件夹。ExportService 使用模板生成一些报告。我有一个私有方法可以“获取”模板目录的路径。事实上,我只是指定了一个相对路径,它在调试时可以正常工作,但在我发布项目时却不行。如何使文件在我发布的应用程序中可用/可访问?

private string GetExcelTemplatePath()
{
    var templatesDirectory = "..\\WebAPI\\wwwroot\\templates";
    var templateName = "Excel_template_v1.xlsx";
    var templatePath = Path.Combine(templatesDirectory, templateName);

    return templatePath;
}
4

1 回答 1

1

使用 ASP.NET Core,您需要将其注入IHostingEnvironment您的控制器(或任何您需要的地方)。从该对象中,您可以获得WebRootPath包含wwwroot. 使用它来查找其中的文件。

更多信息来自网络。

于 2017-11-16T07:19:28.360 回答