Ola pessoal, estou com um problema e não consigo encontrar uma solução aceitável.
Estou salvando documentos Office dentro do banco SQL em binary, a questão é que, quando selecionar o documento que eu quero, gostaria de abrir ele dentro do site. Com PDF esta funcionando, mas com doc ou xls ele efetua o download, mas não abre um view.
alguém saberia se tem como abrir um view do doc? só preciso visualizar.
Código atual:
byte[] _Buffer = null;
if (arq.Arquivo != null)
_Buffer = arq.Arquivo;
else if (file != null)
{
System.IO.BinaryReader _BinaryReader = new System.IO.BinaryReader(file);
long _TotalBytes = new System.IO.FileInfo(caminho).Length;
_Buffer = _BinaryReader.ReadBytes((Int32)_TotalBytes);
file.Close();
file.Dispose();
_BinaryReader.Close();
}
Response.Buffer = false;
Response.Clear();
if (arq.Extensao.Extensao.Equals(".DOC") || arq.Extensao.Extensao.Equals(".DOCX"))
{
Response.ContentType = "application/vnd.ms-word";
}
else if (arq.Extensao.Extensao.Equals(".XLS") || arq.Extensao.Extensao.Equals(".XLSX"))
{
Response.ContentType = "application/vnd.ms-excel";
}
else if (arq.Extensao.Extensao.Equals(".PDF"))
{
Response.ContentType = "application/pdf";
}
Response.AddHeader("Content-Disposition", "filename=" + arq.Nome);
Response.AddHeader("Content-Length", _Buffer.Length.ToString());
Response.BinaryWrite(_Buffer);
Response.End();
Pergunta
Bruno Papa
Ola pessoal, estou com um problema e não consigo encontrar uma solução aceitável.
Estou salvando documentos Office dentro do banco SQL em binary, a questão é que, quando selecionar o documento que eu quero, gostaria de abrir ele dentro do site. Com PDF esta funcionando, mas com doc ou xls ele efetua o download, mas não abre um view.
alguém saberia se tem como abrir um view do doc? só preciso visualizar.
Código atual:
byte[] _Buffer = null; if (arq.Arquivo != null) _Buffer = arq.Arquivo; else if (file != null) { System.IO.BinaryReader _BinaryReader = new System.IO.BinaryReader(file); long _TotalBytes = new System.IO.FileInfo(caminho).Length; _Buffer = _BinaryReader.ReadBytes((Int32)_TotalBytes); file.Close(); file.Dispose(); _BinaryReader.Close(); } Response.Buffer = false; Response.Clear(); if (arq.Extensao.Extensao.Equals(".DOC") || arq.Extensao.Extensao.Equals(".DOCX")) { Response.ContentType = "application/vnd.ms-word"; } else if (arq.Extensao.Extensao.Equals(".XLS") || arq.Extensao.Extensao.Equals(".XLSX")) { Response.ContentType = "application/vnd.ms-excel"; } else if (arq.Extensao.Extensao.Equals(".PDF")) { Response.ContentType = "application/pdf"; } Response.AddHeader("Content-Disposition", "filename=" + arq.Nome); Response.AddHeader("Content-Length", _Buffer.Length.ToString()); Response.BinaryWrite(_Buffer); Response.End();Vlw galera
Editado por quintelabAdicionado BBCode Code
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.