Varbinary

21/05/2013

0

Boa tarde pessoal,

queria saber como faço para exibir no browser arquivos varbinary que estão gravados no banco (SQL Server).

estou usando o seguinte codigo:


Response.ContentType = extensao.Equals(".doc") ? "Application/msword" : "Application/pdf";
Response.AppendHeader("FileName", vw_NomeContrato);
Response.AppendHeader("Content-Disposition", "attachment; filename=" + vw_NomeContrato);
Response.BinaryWrite(vw_Documento);
Response.End();


onde:
vw_NomeContrato é uma variável (string) q guarda o nome do arquivo (por ex.: "Contrato.docx").

vw_Documento é uma variável (byte[]) que guarda o valor varbinary que vem do banco.


O problema é que quando faço o download do arquivo, ele vem com problema. Não da pra abrir.

Já teve casos em que abri o arquivo, porém o que deveria estar nele, não estava.


Aguardo.
Diego Gonçalves

Diego Gonçalves

Responder

Posts

28/05/2013

Thiago Santana

Tente algo como isso aqui:
byteViewer = Campo Varbinary do seu banco de dados;
Response.Buffer = true;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename=Arquivo.pdf");
Response.BinaryWrite(byteViewer);
Response.Flush();
Response.End();

Espero ter ajudado!
Responder

02/06/2013

Diego Gonçalves

Tentei esse codigo e nao deu certo. To achando q é na gravacao.

to usando o seguinte codigo:

byte[] arquivo = new byte[fupContrato.PostedFile.InputStream.Length + 1];
fupContrato.PostedFile.InputStream.Read(arquivo, 0, arquivo.Length);
c.DocumentoContrato = arquivo;

ONDE:
- fupContrato é um FileUpload

No banco, o valor no campo (que está como varbinary) aparece desse jeito: 0x50
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar