PDF文件以byte[]
的形式保存在SQL Server数据库中。从数据库中获取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[]).
答案 0 :(得分:0)
我建议您在从数据库收到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);
使用后,您可以删除创建的临时文件。