Как создать папку wwwroot в. Net Core + React проекте? - PullRequest
0 голосов
/ 23 апреля 2020

Я создал. Net Базовый проект WebAPI с шаблоном React. Теперь я хочу отправить письмо от API с шаблоном электронной почты. Шаблон имеет формат Html, поэтому нам нужно прочитать файл Html как шаблон из пути root, но путь '1001 *' в этом проекте по умолчанию недоступен.

Я сделал это в моем предыдущем. Net Core MVC проекте, как показано ниже, но я не знаю, как это сделать в текущем проекте, поскольку нет папки 'WWWRoot' , Может кто-нибудь, пожалуйста, помогите мне, где хранить этот файл шаблона и как получить его в виде строки в c#?

//Get the email template path
string templatePath = RuntimeConfig.SiteUrl + "/Template/EmailTemplate.html";

     //Adding the template to the email body
      using (var client = new WebClient())
      {
          string reader = client.DownloadString(templatePath);
          StringBuilder sb = new StringBuilder();
          sb.Append(reader);
          ....
          .... --logics---
      }

1 Ответ

1 голос
/ 24 апреля 2020

Я хочу отправить электронное письмо от API с шаблоном электронной почты.

На мой взгляд, файлы шаблонов электронной почты не должны обслуживать клиентов напрямую.

Чтобы удовлетворить ваши требования, вы можете попробовать:

Создать папку для хранения файлов шаблонов вашей электронной почты

enter image description here

Для доступа / чтения файла шаблона из этой папки в рамках действия контроллера

public class EmailController : ControllerBase
{
    private IWebHostEnvironment _env;
    public EmailController(IWebHostEnvironment env)
    {
        _env = env;
    }

    [HttpPost]
    public IActionResult SendConfirmEmail()
    {
        var path= Path.Combine(_env.ContentRootPath, @"EmailTemplates\" + "ConfirmEmailTemplate.html");
        var template = System.IO.File.ReadAllText(path);

        //code logic here
        //...

    //other actions
    //...
...