这就是我想做的:
从数据库中获取一个 64base 字节数组(实际上是 pdf 格式)。这行得通。然后我想在 webbrowser 组件中显示 pdf。
我首先将 pdf 保存到 file.pdf 然后打开它:
byte[] bitjes = isc.GetFileById(fileid); // Getting the bytes
FileStream stream = new FileStream(@"C:\NexusPDF\" + filename, FileMode.CreateNew);
BinaryWriter writer = new BinaryWriter(stream);
writer.Write(bitjes, 0, bitjes.Length);
writer.Close();
webBrowser.Navigate(@"C:\NexusPDF\" + filename);
但这给了我各种涉及读/写访问的问题。所以我想我必须使用 memorystream 类来解决这个问题。
byte[] bitjes = isc.GetFileById(fileid);
MemoryStream memstream = new MemoryStream(bitjes);
BinaryWriter writer = new BinaryWriter(memstream);
writer.Write(bitjes, 0, bitjes.Length);
writer.Close();
但这就是我卡住的地方!我不能只在 webBrowser 组件中显示这个,可以吗?我必须使用 binaryreader 才能显示 pdf 吗?
我是以正确的方式解决这个问题,还是有更好的选择?
主要是我不想将文件保存在磁盘上。
任何帮助将不胜感激。