Domanda

D'accordo,

Ho un database SQL 2005 con un PDF memorizzato. La colonna utilizza il tipo di immagine. Così, quando il PDF ottiene lo memorizza è un byte [] array.

Così qui è la parte più difficile. Posso farlo per memorizzare i dati, ma non sono sicuro di come fare per ottenere l'array di byte [] di nuovo in formato PDF e visualizzarli sulla pagina web.

Sto usando uno strumento di 3a parte per generare il PDF, che funziona alla grande.

Il codice che ho per generare l'array di byte [] è la seguente:

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

Ho poi inserisco l'array di byte [] nel database.

Quando ottengo la matrice indietro dal database faccio questo:

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

Ciò restituisce un byte valida [] array come si suppone.

Ora, l'unico problema è in realtà scrivendo il PDF al sito web e averlo visualizzare sul sito web, non sono sicuro come fare questo o dove iniziare anche.

È stato utile?

Soluzione

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

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

Altri suggerimenti

Questo è abbastanza semplice. In realtà ho appena fatto questo un mese fa. Abbiamo dovuto memorizzare il PDF nel database e poi scrivere fuori quando il cliente ha chiesto di vedere il loro documento.

Quello che dovete fare è sulla tua pagina web aggiungere il seguente codice:

byte[] myarray = BusinessLayer.GetPDF(parameters)

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

vedere se funziona per te.

Ti consigliamo di impostare il Response.ContentType a "application / pdf", e quindi chiamare il metodo Response.BinaryWrite, passando nei dati di byte.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top