Как отобразить html-письмо со встроенными изображениями (cid)?

Я храню электронные письма и их вложения в базе данных. Я использую веб-браузер WPF и метод NavigateToString для отображения HTML-тела писем. Он работает, но когда электронные письма используют встроенные изображения с идентификатором содержимого (cid), я не могу их отобразить. Я сохранил все встроенные изображения в виде вложений при сохранении писем в базе данных. Я мог бы создавать и хранить изображения во временных файлах текущего пользователя и заменять ссылки cid абсолютным путем на диске пользователя, но я думаю, что это не лучшее путь...

У вас есть идеи ?

1 ответов


Я, наконец, нашел хороший способ:

Я заменил ссылки cid всех изображений данными изображения base64 (RFC 2557) следующим образом :

<img src="data:image/png;base64,RAAAtuhhx4dbgYKAAA7...more data....." alt="test">

для генерации строки base64 можно использовать следующий код:

string base64Str = Convert.ToBase64String(File.ReadAllBytes(@"C:\Temp\test.png"));

Примечания: не работает с IE6