2016-05-12 8 views
0

J'ai été chargé d'incorporer un mHtml dans un corps d'e-mail. Le problème est que mhtml n'est pas un fichier html normal, donc je ne peux pas l'intégrer directement dans l'email.Convertir MHTML en HTML en utilisant C#

Comment puis-je convertir le fichier mhtml en fichier html?

Merci

Répondre

1

J'ai trouvé la solution sur ce lien http://www.adhocgeek.com/2012/11/sending-ssrs-generated-mhtml-with-system-net-mail/

La solution a consisté à extraire le code HTML codé en base64 à l'intérieur du MHTML.

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

J'ai ouvert la .mhtml de cette page dans un éditeur de texte (notepad ++), le code HTML semble être dans le fichier, intact. Vous devez faire défiler devant tous les CSS. Je voudrais juste créer quelque chose pour extraire le texte HTML à partir du fichier plutôt que de traiter les données de base64 (trop confus pour moi si quelque chose ne fonctionne pas correctement).