2013-10-31 7 views
0

내 응용 프로그램에서 주문 완료 후 고객에게 HTML 전자 메일 영수증을 보냅니다. 내가하고 싶은 것은 웹 브라우저 컨트롤에서 미리보기입니다.WPF 웹 브라우저에서 HTML 전자 메일보기

코드는 정상적으로 작동하지만 이미지가 브라우저에 없습니다.

나는이 같은 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 

스트림에서 이미지를 어떻게 얻을 수 있습니까?

답변

1

메모리에서 이미지를 사용할 수 있다고 생각하지 않습니다. 일시적으로 하드 드라이브에 저장해야합니다. 는이처럼 HTML 무언가를 참조 할 수 있습니다

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

답장을 보내 주셔서 감사합니다. 이것이 내가 사용한 방법이기 때문에 이것을 답으로 표시했습니다. –

1

당신은 base64로 사용하여 이미지 데이터를 인코딩 및 Data URI scheme 지원으로, 페이지에 인라인을 포함 할 수 있습니다. 예 : 원본 이미지의 크기에 따라, 실질적으로 5 월 페이지 크기에 약간의 오버 헤드를 추가

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

.