0

我想在浏览器中打开二进制 Word 文档文件,而不是从物理路径。使用下面给出的代码,我可以在浏览器中打开 PDF 文件,但不能打开其他文件。

代码:

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(); 
4

2 回答 2

2

Word 的默认行为是在浏览器窗口之外打开文档。这是客户端设置,不能从服务器端代码更改。

查看如何配置 Internet Explorer 以在适当的 Office 程序中打开 Office 文档,而不是在支持站点上的 Internet Explorer 如何重新配置​​您的计算机。

于 2012-04-12T17:10:08.660 回答
0

您可以使用 Flash/ Silverlight 库来显示文档。Microsoft 也有 Office Web Apps(需要许可证),可以在浏览器上显示和编辑 Office 文档

于 2012-05-17T09:37:30.783 回答