我正在我的.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'的一部分
阅读我的模板文件的最佳做法是什么?
我将模板设置为EmbeddedRessource,如下所示:
在代码中我读了嵌入式资源,如:
var assembly = typeof(<GETYOURASSEMBLY>).GetTypeInfo().Assembly;
var stream = assembly.GetManifestResourceStream("<RESSOURCENAME>.EmailTemplates.NewApprovalRequest.html");
var reader = new StreamReader(stream);
var template = reader.ReadToEnd();
您的静态内容必须位于wwwroot文件夹中,并在statup.cs中设置此配置
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles();
}