我想在浏览器中打开二进制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();
答案 0 :(得分:2)
Word的默认行为是在浏览器窗口外打开文档。这是客户端设置,无法从服务器端代码更改。
在支持网站上查看How to configure Internet Explorer to open Office documents in the appropriate Office program instead of in Internet Explorer如何重新配置您的计算机。
答案 1 :(得分:0)
您可以使用Flash / Silverlight库来显示文档。 Microsoft还有Office Web Apps(需要许可证),可以在浏览器上显示和编辑Office文档