Pergunta

Ok,

Eu tenho um banco de dados SQL 2005 com um PDF armazenado. A coluna utiliza o tipo de imagem. Assim, quando o PDF fica lojas é uma matriz byte [].

Então, aqui é a parte mais difícil. Eu posso obtê-lo para armazenar os dados, mas não tenho certeza de como proceder para obter o byte [] array volta para o formato PDF e exibi-lo na página web.

Eu estou usando uma terceira ferramenta parte para gerar o PDF, que funciona muito bem.

O código que têm de gerar o byte [] matriz é como se segue:

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

I, em seguida, inserir a matriz de bytes [] para a base de dados.

Quando eu chegar a parte de trás matriz a partir do banco de dados que eu faça o seguinte:

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

Isso retorna um byte válido [] como é suposto.

Agora, a única questão é realmente escrever o PDF para o site e tê-lo exibir no site, eu não sei como fazer isso ou onde começar mesmo.

Foi útil?

Solução

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

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

Outras dicas

Este é bastante simples. Na verdade eu só fiz isso há um mês. Tivemos para armazenar o PDF no banco de dados e, em seguida, escrevê-lo quando o cliente pediu para ver seu documento.

O que você precisa fazer é na sua página web adicione o seguinte código:

byte[] myarray = BusinessLayer.GetPDF(parameters)

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

ver se isso funciona para você.

Você vai querer definir o Response.ContentType para "application / pdf" e, em seguida, chamar o método Response.BinaryWrite, passando os dados byte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top