Pregunta

De acuerdo,

Tengo una base de datos SQL 2005 con un PDF almacenado. La columna utiliza el tipo de imagen. Así que cuando el PDF se almacena es un [] matriz de bytes.

Así que aquí es la parte difícil. Puedo reciba para almacenar los datos, pero no estoy seguro de cómo hacer para conseguir el [] matriz de bytes de nuevo en formato PDF y lo mostrará en la página web.

Estoy utilizando una herramienta de tercera parte para generar el PDF, que funciona muy bien.

El código que tengo para generar el [] matriz de bytes es como sigue:

Doc document = new Doc();
byte[] myArray = document.GetData();

I a continuación, insertar el [] matriz de bytes en la base de datos.

Cuando llego a la matriz de vuelta de la base de datos hago esto:

public byte[] GetPDF(parameters)
{
    return DAL.GetPDF(parameters)
}

Esto devuelve un byte válido [] array, ya que se supone que es.

Ahora, el único problema es en realidad escribiendo el PDF en el sitio web y hacer que se muestre en el sitio web, no estoy seguro de cómo hacer esto o por dónde empezar siquiera.

¿Fue útil?

Solución

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

        using (BinaryWriter writer = new BinaryWriter(context.Response.OutputStream))
        {
            writer.Write(bytes, 0, bytes.Length);
        }

Otros consejos

Esto es bastante simple. De hecho acabo de hacer esto hace un mes. Tuvimos que guardar el PDF en la base de datos y luego escribirlo cuando el cliente solicita para ver su documento.

Lo que hay que hacer es en tu página web agregue el código siguiente:

byte[] myarray = BusinessLayer.GetPDF(parameters)

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

ver si funciona para ti.

Usted querrá ajustar la Response.ContentType a "application / pdf", y luego llamar al método Response.BinaryWrite, pasando en los datos de byte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top