Question

D'accord,

J'ai une base de données SQL 2005 avec un PDF stocké. La colonne utilise le type d'image. Ainsi, lorsque le PDF obtient stocke est un octet tableau [].

Alors, voici la partie difficile. Je peux l'obtenir pour stocker les données, mais je ne suis pas sûr de savoir comment s'y prendre pour obtenir l'octet [tableau] Retour au format PDF et l'afficher sur la page Web.

J'utilise un outil 3ème partie pour générer le PDF, ce qui fonctionne très bien.

Le code je pour générer le byte [] tableau est la suivante:

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

insérer ensuite l'octet array [] dans la base de données.

Quand je reçois le tableau arrière de la base de données que je fais ceci:

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

retourne un tableau d'octets valide [] comme il est censé le faire.

Maintenant, la seule question est en train d'écrire le PDF sur le site Web et l'avoir afficher sur le site Web, je ne suis pas sûr de savoir comment faire ceci ou même où commencer.

Était-ce utile?

La solution

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

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

Autres conseils

Ceci est tout à fait simple. En fait, je viens de faire cela il y a un mois. Nous avons dû enregistrer le PDF dans la base de données, puis l'écrire lorsque le client a demandé à voir leur document.

Ce que vous devez faire est sur votre page web ajoutez le code suivant:

byte[] myarray = BusinessLayer.GetPDF(parameters)

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

Voir si cela fonctionne pour toi.

Vous souhaitez définir le Response.ContentType « application / pdf », puis appeler la méthode Response.BinaryWrite, en passant dans les octets de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top