4

好的,

我有一个带有存储 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 写入网站并将其显示在网站上,我不知道如何执行此操作或从哪里开始。

4

3 回答 3

3
        Response.ContentType = "application/pdf";
        byte[] bytes = YourBinaryContent;

        using (BinaryWriter writer = new BinaryWriter(context.Response.OutputStream))
        {
            writer.Write(bytes, 0, bytes.Length);
        }
于 2009-05-13T16:20:40.467 回答
2

这很简单。事实上,我一个月前才这样做。我们必须将 PDF 存储在数据库中,然后在客户要求查看其文档时将其写出来。

您需要做的是在您的网页上添加以下代码:

byte[] myarray = BusinessLayer.GetPDF(parameters)

Response.Clear();
Response.ContentType = "application/pdf";
Response.BinaryWrite(myarray);

看看这是否适合你。

于 2009-05-13T16:18:46.897 回答
1

您需要将 Response.ContentType 设置为“application/pdf”,然后调用 Response.BinaryWrite 方法,传入字节数据。

于 2009-05-13T16:17:54.183 回答