从IE打开的Excel文件;不存在,但确实存在
Excel file opened from IE doesn't exist, but does
我有一个用户,当他们下载托管在我们内联网上的excel文件时,收到一条错误消息,告诉他们该文件不存在。这种情况发生在IE.
我已经验证了该文件确实存在,并且在同一地理位置具有相同权限的其他用户可以访问该文件。这不是互操作问题,文件只是托管的。通过在打开/保存提示下打开文件,我在IE 9中的机器上重现了一次这个问题,之后Excel向我询问了3次身份验证凭据,给了我同样的错误,然后还是打开了文件。从那以后,我一直无法复制它。她的电脑无论如何都会打开文件
我被难住了。有人有什么想法吗?
错误消息:Microsoft Office Excel无法访问该文件。有几个可能的原因:
- 文件名或路径不存在
- 另一个程序正在使用该文件
- 您试图保存的工作簿与当前打开的工作簿同名工作簿
编辑
用户正在使用IE 7。
为文件服务的代码:
<asp:LinkButton ID="lbtnEstimatingWorkbook" runat="server" CssClass="Brightness"
Tooltip="Estimate Calculation Workbook" ToolTip="Open estimating workbook in Excel"
OnClientClick="DisplayEstimateWorkbook()"></asp:LinkButton>
function DisplayEstimateWorkbook() {
var url = "Estimating Workbook.xlsm";
var win = window.open(url, '_blank');
win.focus();
}
在我们的生产路径上发现了一些东西(可能是通用的IIS设置),但在应用程序之外,添加了"Pragma:no-cache"标头。这阻止了IE8(或更早版本)下载任何东西,因为IE处理下载的方式很糟糕。
在页面的Init方法中添加以下内容修复了问题并允许下载(仅适用于IIS 7+):
Response.Headers.Remove("Pragma")
Response.AddHeader("Pragma", "cache")
Response.Cache.SetCacheability(HttpCacheability.Private)
Response.Cache.SetMaxAge(New TimeSpan(0, 15, 0))
此问题提供了更多信息。
相关文章:
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 正在将事件处理程序添加到不存在的类
- javascript如果图像不存在don't加载它
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何将一个函数附加到一个不存在的元素上
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- Onclick不会启动..可能存在javascript语法问题
- 在scala或scalajs Diode中,现有类型中的任何一种都符合“;更新一个没有'还不存在”;
- Javascript滑块不滑动,如何判断是否存在JS冲突
- 查找数组's按属性不存在于另一个数组中的对象
- 第二个存在条件不起作用
- Javascript代码添加了一些不应该存在的内容
- 用javascript在对象上创建不存在的方法
- 仅当值不为'不存在
- casperjs-css选择器存在,但当单击它时会引发“”;CasperError:无法在不存在的选择器“”上调度mou
- jQuery appendTo 替换元素而不是添加元素,如果正在添加的元素预先存在于列表中
- jquery-datatable-jeditable 在浏览器中显示编辑的值,但不保存在 DOM 中
- 当promise中发生错误时,数据缓存在服务器或客户端上,或者根本不缓存在AngularJS中