在.net-core中读取文件内容的最佳方法是什么[关闭]

问题描述 投票:-2回答:2

我正在我的.net-core API中设置电子邮件发件人。我想将我的电子邮件模板保存在我的项目中作为html文件。我目前正在将它们保存在以下路径中

项目API /模板/电子邮件template1.html

项目API /模板/电子邮件template2.html

...

项目API /模板/电子邮件templateS.html

我想要的是阅读所需模板的内容。

到目前为止我所做的是使用System.IO.File.ReadAllText,如下所示。

System.IO.File.ReadAllText(@ “模板/电子邮件template1.html”);

如果我正在我的机器上开发,我能够读取内容文件,因为当前文件夹存在。但是,如果我发布我的代码,此文件夹将不存在,并将导致此跟随错误。

无法找到路径'/var/www/Templates/email-template.html'的一部分

阅读我的模板文件的最佳做法是什么?

api .net-core
2个回答
1
投票

我将模板设置为EmbeddedRessource,如下所示:

enter image description here

在代码中我读了嵌入式资源,如:

var assembly = typeof(<GETYOURASSEMBLY>).GetTypeInfo().Assembly;
var stream = assembly.GetManifestResourceStream("<RESSOURCENAME>.EmailTemplates.NewApprovalRequest.html");
var reader = new StreamReader(stream);
var template = reader.ReadToEnd();

唯一棘手的问题是为您的资源获取正确的名称: (用你的价值取代<RESSOURCENAME>enter image description here


0
投票

您的静态内容必须位于wwwroot文件夹中,并在statup.cs中设置此配置

public void Configure(IApplicationBuilder app) 
{
    app.UseStaticFiles(); 
}
© www.soinside.com 2019 - 2024. All rights reserved.