Как я могу показать PDF-файл (двоичный []) в System.Windows.Controls.WebBrowser рабочего стола WPF? - PullRequest
0 голосов
/ 13 мая 2019

PDF-файлы сохраняются в базе данных SQL Server как byte[].После того, как я получу binary[] из базы данных и сохраню его как локальный файл, этот код будет работать:

string tempPath = Path.GetTempPath();
string fileName = tempPath + DateTime.UtcNow.ToString("yyyyMMddHHmmssFFF") + ".pdf";
File.WriteAllBytes(fileName, binary[]);
WebBrowser.Navigate(fileName).

Если я напрямую передам binary[] в WebBrowser.NavigateToStream(), он покажет необработанные pdf-строки:

WebBrowser.NavigateToStream(binary[]).

enter image description here

1 Ответ

0 голосов
/ 14 мая 2019

Я бы посоветовал вам создать временный файл после получения byte[] данных из базы данных.

byte[] fileBytes = // YOUR LOGIC TO READ byte[] FROM DATABASE

string tempFile = @"C:\temp\abc.pdf";

File.WriteAllBytes(tempFile, fileBytes);

myBrowser.Source = new Uri(tempFile);

После использования вы можете удалить созданный вами временный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...