2016-05-12 7 views
0

Ich wurde beauftragt, ein mHtml in einen E-Mail-Körper einzubetten. Das Problem ist, dass mhtml keine normale HTML-Datei ist, daher kann ich sie nicht direkt in die E-Mail einbetten.Konvertieren MHTML in HTML mit C#

Wie kann ich das MHTML in eine HTML-Datei konvertieren?

Dank

Antwort

1

fand ich die Lösung auf diesen Link http://www.adhocgeek.com/2012/11/sending-ssrs-generated-mhtml-with-system-net-mail/

Die Lösung, die HTML als Base64 innerhalb des MHTML codiert zu extrahieren war.

var decoded_text = new StringBuilder(); 
using (var reader = new StreamReader(mhtFile)) 
{ 
    while (!reader.EndOfStream) 
    { 
     var line = reader.ReadLine(); 
     if (line != "Content-Transfer-Encoding: base64") continue; 

     reader.ReadLine(); //chew up the blank line 
     while ((line = reader.ReadLine()) != String.Empty) 
      if (line != null) 
       decoded_text.Append(
        Encoding.UTF8.GetString(
         Convert.FromBase64String(line))); 
     break; 
    } 
} 
0

ich die .mhtml auf dieser Seite in einem Texteditor (Notepad ++) geöffnet, die HTML erscheint in der Datei intakt zu sein. Sie müssen weit über alle CSS nach unten scrollen. Ich würde nur etwas erstellen, um den HTML-Text aus der Datei zu extrahieren, anstatt mich mit den base64-Daten zu befassen (zu verwirrend für mich, wenn etwas nicht richtig funktioniert).