首页 > 解决方案 > 如何在 WPF 桌面应用程序的 System.Windows.Controls.WebBrowser 中显示 pdf 文件(二进制 [])?

问题描述

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[]to WebBrowser.NavigateToStream(),它会显示原始 pdf 字符串:

WebBrowser.NavigateToStream(binary[]).

在此处输入图像描述

标签: c#wpfpdf

解决方案


我建议您在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);

使用后,您可以删除您创建的临时文件。


推荐阅读