4

我使用此代码导出/打开文件 (pdf/xls/doc)。

Response.Clear();
Response.Buffer = true;

Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Charset = "UTF-8";
Response.ContentType = mimeType;

Response.AppendHeader("content-disposition", "inline; filename=" + fileName + "." + extension);

Response.BinaryWrite(bytes);
Response.End();

当我用 Word 打开一个 doc 文件并单击导出到 xls 或 pdf 时,在我关闭 Word 之前什么都没有发生。关闭 Word 后,我也可以打开 xls 和 pdf。

当我用 Excel 打开 xls 时存在这个问题。

是什么原因?

4

2 回答 2

2

原因是因为 Word 和其他类似 Word 的程序会锁定打开的文件以避免再次双重打开。因此无法从您的应用程序再次打开锁定的文件。

于 2013-03-29T12:49:09.890 回答
1

根据您使用的单词版本,我会说问题来自inline content-disposition

在 Word 的最新版本中(见于 Word 2010),它会尝试以WEBDAVwhen 模式打开文档inline,这可能会导致问题(尝试导出/打印文档时锁定、丢失 cookie 或凭据)

您可以查看您的网络流量以查看是否涉及此 WEBDAV 行为,并查看是否content-disposition attachment解决了问题。

希望这会有所帮助

于 2013-03-29T13:21:11.643 回答