2010-02-12 6 views
1

J'essaie de concevoir un système de messagerie (.NET C#).Afficher le message électronique dans le contrôle WebBrowser

Les messages sont stockés dans la base de données dans deux tables:

  • message (MESSAGE_ID, récepteur, émetteur, Objet, ...) en-tête de // un message

  • message_parts (MESSAGE_ID, content_id, Part_type , content)

Ainsi, le contenu du message est divisé en plusieurs parties (corps html, corps de texte brut, sources pour html, pièces jointes)

Je n'arrive pas à trouver un moyen d'afficher le message dans le contrôle WebBrowser dans le cas où j'ai html avec des images incorporées. Je vais avoir html qui référence les images par l'ID de contenu, je vais avoir des images encodées en base64. Maintenant, comment puis-je les lier et afficher?

La seule idée qui me vient à l'esprit est de créer un fichier mht et de l'ouvrir dans le navigateur Web. Mais à part ça, je ne peux pas comprendre comment faire cela aussi, la dernière chose que je veux est de créer des fichiers sur le système local.

Ainsi, les questions sont:

  • comment puis-je afficher un message divisé en parties comme ci-dessus?
  • comment créer un fichier mht ayant ces parties?
  • peut-être que ce n'est pas un WebBrowser que je devrais utiliser, mais un certain contrôle d'interface utilisateur qui fait le travail pour moi?

Merci beaucoup!

+0

Check out http: // stackoverflow .com/questions/274315/c-webbrowser-html-avec-références-à-scripts-et-images pour un aperçu –

Répondre

1

Vous pouvez créer le fichier MHT et définissez le mimetype-multipart/mime.

Voici une page Web qui a un code pour créer MHT (éventuellement compter sur dll vous devez installer séparément): http://www.eggheadcafe.com/articles/20040527.asp

Peut-être que cela pourrait être utile aussi: http://msdn.microsoft.com/en-us/library/aa488379(EXCHG.65).aspx

+0

Merci beaucoup! Je vais devoir créer des fichiers temporaires, mais cela correspond à mes exigences critiques! – Pavel

Questions connexes