Varbinary
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
Curtidas 0
Respostas
Thiago Santana
21/05/2013
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!
GOSTEI 0
Diego Gonçalves
21/05/2013
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
GOSTEI 0