2011-01-16 3 views
3

WebBrowser 컨트롤로드 제대로 어떤 mht 파일 나는 Navigate 방법을 사용하지만, 나는 DocumentText 또는 DocumentStream 속성을 사용할 때 메모장에서 파일을 열었을 때의 의 소스를 mht 파일의가 표시됩니다.스트림/문자열에서 mht를 WebBrowser 컨트롤로로드하는 방법은 무엇입니까?

임시 파일에 스트림을 작성한 후 해당 스트림으로 이동하면 올바르게 작동하지만이 방법을 사용하지 않으려 고합니다.

이 문제는 일반적인 것 같지만 해결 방법을 찾지 못했습니다. Some people 나는 IPersistMoniker com 인터페이스를 구현하여 IE를 속일 것을 제안합니다. 나는 이것을 약간 시도했지만 불행하게도 나는 같은 결과를 얻었다. 내가 뭔가 잘못했을 수도 있습니다. 나는 여전히 임시 파일에 저장하는 것 이외의 더 간단한 솔루션이되어야한다고 생각한다.

답변

2

나는 몇 년 전에 같은 문제에 직면했다는 것을 기억하고 있지만 해결책을 찾았지만 아무 것도 찾지 못했습니다. 결국 임시 파일 접근 방식을 사용했습니다. 행운을 빌어주세요. 대답이 있으면 알고 싶습니다.

+0

에! HttpListener http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx와 간단한 웹 서버를 구현하여 WebBrowser 컨트롤을 속일 수 있었지만 결국 WebBrowser 자체가 " 임시 인터넷 파일"! 간단히하기 위해 파일을 직접 저장하고로드가 완료되면 삭제합니다. –

+0

하하 :) 글쎄, 많은 실패 지점이있을 것입니다. 중요한 일을 할 계획이 아니길 바랍니다. 그렇지 않으면, 축하합니다 :) – Mika

2

이 vb.net에서 우리가 사용했던

Response.ContentType = "message/rfc822" 
Dim ByteDocBlob() As Byte = cwWebUtil.ConvertLocalFileToByteArray(FilePath, True) 
Dim HTMLText As String = System.Text.Encoding.UTF8.GetString(ByteDocBlob) 
Response.Write(HTMLText) 
Response.End() 

문제는 IE는 그것을 받아 들일 것입니다.

1
var uri = new Uri(String.Format("file:///{0}", Path.GetFullPath(source))); 
wbMain.Navigate(uri); 

소스 - 경로 내가 임시 파일 접근을 원하지 않는 내 질문에 명시된,하지만 난 그것을 사용해야 결국 비록 당신이 .mht 파일

관련 문제