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.
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
Curtir tópico
+ 0
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!
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
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
Clique aqui para fazer login e interagir na Comunidade :)