如果我使用mht
方法,WebBrowser控件会正确加载任何Navigate
文件,但当我使用DocumentText
或DocumentStream
属性时,来源<显示mht
文件的/ strong>就像我在记事本中打开文件一样。
如果我将流写入临时文件然后导航到它,它可以正常工作,但我不想这样做。
这个问题似乎很常见,但我找不到适合它的解决方案。 Some people建议我应该通过实现IPersistMoniker
com接口等来欺骗IE。我已经尝试了一点,但不幸的是我得到了相同的结果。可能是我做错了什么。我仍然认为他们应该是一个更直接的解决方案(除了首先保存在临时文件中),任何想法?
答案 0 :(得分:2)
我记得几年前我遇到了同样的问题,虽然我搜索了一个解决方案然后我没有找到任何解决方案。最后,我采用了临时文件方法。祝你好运,如果有答案,我也想知道。
答案 1 :(得分:1)
在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似乎只接受它。
答案 2 :(得分:1)
var uri = new Uri(String.Format("file:///{0}", Path.GetFullPath(source)));
wbMain.Navigate(uri);
其中source - .mht文件的路径