2012-04-12 2 views
0

Я хочу открыть двоичный файл Word Document в браузере, а не по физическому пути. С приведенным ниже кодом я могу открыть PDF-файлы в браузере, но не в других файлах.Как открыть Word Document в браузере?

КОД:

byte[] obFile = null; 
obFile = (byte[])fds.Tables[0].Rows[0]["File"]; 
String aFileName = "abc"; 
Response.Expires = 0; 
Response.ClearContent(); 
Response.Buffer = true; 
Response.BufferOutput = true; 
Response.ContentType = "application/msword;name=abc.docx"; 
Response.AddHeader("content-transfer-encoding", "binary"); 
Response.AddHeader("content-length", obFile.Length.ToString()); 
Response.AddHeader("Content-Disposition", "inline; filename=abc.docx"; 
Response.CacheControl = "public"; 
Response.ContentEncoding = System.Text.Encoding.GetEncoding(1251); 
Response.OutputStream.Write(obFile, 0, obFile.Length); 
Response.End(); 
+0

буфер должен быть выключен, и если вы вызываете это из aspx-страницы, то, вероятно, это сделает его gzip и не загрузит его , Необходимо сделать обработчик (файл .ashx) t отправить его. Какую ошибку вы получите? Я думаю, что одна ошибка здесь - обход. Правильно ли это сделано? – Aristos

ответ

2

поведение по умолчанию Слова, чтобы открыть документ вне окна браузера. Это параметр на стороне клиента и не может быть изменен из кода на стороне сервера.

Отъезд How to configure Internet Explorer to open Office documents in the appropriate Office program instead of in Internet Explorer на сайте поддержки, как перенастроить .

0

Вы можете использовать библиотеку Flash/Silverlight для отображения документа. Microsoft также имеет приложения Office Web Apps (которые требуют лицензии), которые могут отображать и редактировать офисный документ в браузере.