簡體   English   中英

在WPF Webbrowser中查看HTML電子郵件

[英]View HTML Email in WPF Webbrowser

在我的應用程序中,我在完成訂單后向客戶發送HTML電子郵件收據。 我想要做的是在webbrowser控件中預覽它。

我的代碼工作正常,但瀏覽器中缺少圖像。

我在AlternateView中創建HTML,如下所示:

Dim hview As AlternateView = AlternateView.CreateAlternateViewFromString(ReadTemplate(order), Nothing, "text/html")

然后遍歷他們訂購的圖像並添加如下:

Dim M As New LinkedResource(ResizeAndRotate(I.Path), Net.Mime.MediaTypeNames.Image.Jpeg) With {.ContentId = "Main" & cnt}
hview.LinkedResources.Add(M)

然后從hview流中返回一個文檔:

Dim ObjDoc As New HTMLDocument
Dim Doc As IHTMLDocument2 = ObjDoc
Dim reader As New IO.StreamReader(hview.ContentStream)
Doc.write(reader.ReadToEnd)
Return ObjDoc

我怎樣才能從流中獲取圖像?

我不相信你可以使用內存中的圖像。 您需要將它們保存到硬盤驅動器,即使是暫時的。 您必須在HTML中引用它們,如下所示:

<img alt="An image" src="file:///C:/Images/Image.jpg" width="400" height="400" />

您可以使用base64對圖像數據進行編碼,並將其嵌入到頁面中,如數據URI方案所支持。 例:

<!-- http://en.wikipedia.org/wiki/Data_URI_scheme -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg=="/>

當然,這會增加頁面大小的一些開銷,這可能是實質性的,具體取決於原始圖像大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM