好,
我有一个带有存储PDF的SQL 2005数据库。该列使用图像类型。因此,当PDF获取存储时,它是一个byte []数组。
所以这是困难的部分。我可以让它存储数据,但我不知道如何将byte []数组恢复为PDF格式并将其显示在网页上。
我使用第三方工具生成PDF,效果很好。
我必须生成byte []数组的代码如下:
Doc document = new Doc();
byte[] myArray = document.GetData();
然后我将byte []数组插入数据库。
当我从数据库中取回数组时,我这样做:
public byte[] GetPDF(parameters)
{
return DAL.GetPDF(parameters)
}
这将返回一个有效的byte []数组。
现在,唯一的问题是实际上将PDF写入网站并将其显示在网站上,我不知道如何做到这一点或从哪里开始。
答案 0 :(得分:3)
Response.ContentType = "application/pdf";
byte[] bytes = YourBinaryContent;
using (BinaryWriter writer = new BinaryWriter(context.Response.OutputStream))
{
writer.Write(bytes, 0, bytes.Length);
}
答案 1 :(得分:2)
这很简单。事实上,我一个月前刚刚做过这件事。我们必须将PDF存储在数据库中,然后在客户请求查看其文档时将其写出来。
您需要做的是在您的网页上添加以下代码:
byte[] myarray = BusinessLayer.GetPDF(parameters)
Response.Clear();
Response.ContentType = "application/pdf";
Response.BinaryWrite(myarray);
看看是否适用于你。
答案 2 :(得分:1)
您需要将Response.ContentType设置为“application / pdf”,然后调用Response.BinaryWrite方法,传入字节数据。