Управление веб-браузером .NET с использованием данных в памяти - PullRequest
2 голосов
/ 08 марта 2011

У меня есть некоторые двоичные данные в памяти (которая представляет собой файл PDF).То, что я хотел бы сделать, это указать стандартный элемент управления браузером .NET непосредственно на эти данные.Например:

myLib mylib = new myLib();
object vbyt = mylib.GetPDFDocument();
webBrowser1.data = vbyt;

Возможно ли это, или мне нужно сохранить PDF в файл и прочитать оттуда?

РЕДАКТИРОВАТЬ:

Я считаю, чтоследующий должен делать то, что мне нужно, но он просто выплевывает мусор - может кто-нибудь сказать мне, почему / способ заставить это работать?

byte[] vbyt = (byte[])mylib.GetPDFDocument();

MemoryStream ms = new MemoryStream();

ms.Write(vbyt, 0, vbyt.Length);
ms.Position = 0;

//conetent type = "application/pdf";            
webBrowser1.DocumentStream = ms; 

Ответы [ 2 ]

2 голосов
/ 10 марта 2011

Я полагаю, что есть и нечто большее, эта страница должна помочь .

Здесь есть дубликат вопроса здесь.

1 голос
/ 10 марта 2011

Причина, по которой установка DocumentStream создает мусор, обсуждается в этом сообщении на форуме: Можно ли передать двоичные данные файла в элемент управления WebBrowser?

Возможное решение - сохранить файл локально и передать его через файл html: передать файл pdf в объект .net webbrowser на winform

...