我有一个以字节数组形式存储在数据库中的PDF文件。
现在,我正在将PDF字节数组从我的数据库读回应用程序。
现在,我尝试使用RadPdfViewer显示PDF,但它不起作用。
这是我的代码:
byte[] pdfAsByteArray= File.ReadAllBytes(@"C:\Users\Username\Desktop\Testfile.pdf");
//Save "pdfAsByteArray" into database
//...
//Load pdf from database into byte[] variable "pdfAsByteArray"
using (var memoryStream = new MemoryStream(pdfAsByteArray))
{
this.PdfViewer.DocumentSource = new PdfDocumentSource(memoryStream);
}
当我执行应用程序时,PdfViewer为空。
问题:如何正确设置DocumentSource?
问题:如何清除流?(注意,使用“using”无效)
注:我想避免像将临时文件写入磁盘这样的操作。
编辑:
我找到了解决方法,但对这个解决方案并不完全满意。
不起作用:
using (var memoryStream = new MemoryStream(pdfAsByteArray))
{
this.PdfViewer.DocumentSource = new PdfDocumentSource(memoryStream);
}
工作中:
var memoryStream = new MemoryStream(pdfAsByteArray);
this.PdfViewer.DocumentSource = new PdfDocumentSource(memoryStream);
我不知道telerik的RadPdfViewer组件是如何工作的,但我想要释放这个流。