4

如果我使用该方法, WebBrowser 控件会正确加载任何mht文件Navigate,但是当我使用DocumentTextorDocumentStream属性时,会显示文件的mht就像我在记事本中打开文件一样。

如果我将流写入临时文件然后导航到它,它可以正常工作,但我不想这样做。

这个问题似乎很常见,但我没有找到可行的解决方案。有人建议我应该通过实现 com 接口来欺骗 IE IPersistMoniker,...等。我已经尝试了一点,但不幸的是我得到了相同的结果。可能是我做错了什么。我仍然觉得他们应该是一个更直接的解决方案(除了先保存在临时文件中),知道吗?

4

3 回答 3

2

我记得几年前我也遇到过同样的问题,尽管我搜索了解决方案,但我没有找到任何解决方案。最后,我选择了临时文件方法。祝你好运,如果有答案我也想知道。

于 2011-01-16T11:58:09.713 回答
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 似乎接受它。

于 2012-09-27T00:33:52.410 回答
1
var uri = new Uri(String.Format("file:///{0}", Path.GetFullPath(source)));
wbMain.Navigate(uri);

where source - .mht 文件的路径

于 2015-03-15T14:31:17.203 回答