На основе ваших комментариев, это выглядит, как вы пытаясь создать html-файл для отправки по электронной почте. Вам лучше создать html-файл с place holders
для информации, которую вы хотите получить inject. Используйте текстовый ридер, чтобы прочитать html из файла, и используйте regex или string.replace в тексте, заменив place holders
на фактические значения.
Вам необходимо будет иметь полный URL-адрес изображений.
например.
Чтобы прочитать HTML
var HTML = EmailTemplate.GetHTMLFromTemplate(path to template)
public static string GetHTMLFromTemplate(string templatepath)
{
var TemplateBody = new StringBuilder();
using (var Reader = new StreamReader(templatepath))
{
string Line;
while ((Line = Reader.ReadLine()) != null)
{
TemplateBody.Append(Line);
}
}
return TemplateBody.ToString();
}
Затем замените части HTML
String.Replace("[image placeholder]", ConfigurationManager.AppSettings["Image"]);
Email класс шаблона выглядит следующим образом (это очень старый код !!)
public class EmailTemplate
{
public string Body { get; private set; }
public static EmailTemplate GetTemplate(string body, string url, string html)
{
var AmendedHTML = new StringBuilder(html);
AmendedHTML.Replace("[body]", body);
AmendedHTML.Replace("../images", url + "images");
var MyEmailTemplate = new EmailTemplate { Body = AmendedHTML.ToString() };
return MyEmailTemplate;
}
public static EmailTemplate GetTemplate(string body, string title, string url, string year, string html)
{
var AmendedHTML = new StringBuilder(html);
AmendedHTML.Replace("[BODY]", body);
AmendedHTML.Replace("[HEADING]", title);
AmendedHTML.Replace("../images", url + "images");
AmendedHTML.Replace("[DATE]", year);
AmendedHTML.Replace("[contactus.aspx]", url + "contactus/index.aspx");
AmendedHTML.Replace("[unsubscribe.aspx]", url + "register/unsubscribe.aspx");
var MyEmailTemplate = new EmailTemplate { Body = AmendedHTML.ToString() };
return MyEmailTemplate;
}
public static string GetHTMLFromTemplate(string path)
{
var TemplateBody = new StringBuilder();
using (var Reader = new StreamReader(path))
{
string Line;
while ((Line = Reader.ReadLine()) != null)
{
TemplateBody.Append(Line);
}
}
return TemplateBody.ToString();
}
}
Как выглядит сгенерированный html и как выглядит запись в web.config? – Stephen
Вот запись web.config: <добавить ключ = "Image" значение = "Image.gif" /> и вот HTML для тега изображения:
Это изображение в том же месте, что и на этой странице?так что page.html в той же папке, что и image.gif? – christiandev