Как загрузить MHT из потока / строки в элемент управления WebBrowser? - PullRequest
3 голосов
/ 16 января 2011

Элемент управления WebBrowser правильно загружает любой файл mht, если я использую метод Navigate, но когда я использую свойства DocumentText или DocumentStream, источник файла mht отображается так, как будто я открыл файл в блокноте.

Если я записываю поток во временный файл, затем перехожу к нему, он работает правильно, но я не хочу делать это таким образом.

Эта проблема кажется распространенной, но я не нашел работающего решения для нее. Некоторые люди предлагают мне обмануть IE, внедрив IPersistMoniker com интерфейс, ... и т. Д. Я попытался с этим немного, но, к сожалению, я получил тот же результат. Может быть, я сделал что-то не так. Я все еще чувствую, что они должны быть более простым решением (кроме сохранения сначала во временном файле), любая идея?

Ответы [ 3 ]

2 голосов
/ 16 января 2011

Я помню, что столкнулся с той же проблемой несколько лет назад, и, хотя я искал решение, я не нашел ни одного.В конце концов, я выбрал временный файл.Я желаю вам удачи, и если есть ответ, я бы тоже хотел знать.

1 голос
/ 15 марта 2015
var uri = new Uri(String.Format("file:///{0}", Path.GetFullPath(source)));
wbMain.Navigate(uri);

где источник - путь к вашему файлу .mht

1 голос
/ 27 сентября 2012

в 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, кажется, принимает это.

...