我正在开发一个 ASP.NET 的MVC3 Web应用程序。
我有一个"下载"按钮,可以从服务器下载文件。
<input type="button" onclick="window.location.href='@Url.Action("DownloadFile", "Home")';" value="Download"/>
在主控制器中,我将返回文件的动作称为"下载文件"
return File(fileToReturn, Path.GetFileName(fileToReturn));
这在所有浏览器上都正常工作。
但是有些人报告说下载在Internet Explorer 6上不起作用。
我安装了IE6并在其上测试了网站,它工作正常。
所以这是我的问题:
什么可能导致下载不适用于某些IE6,但适用于其他IE6?
首先,我认为这是IE中的安全选项。但是后来我在IE6上测试了不同的安全选项,当我由于安全原因无法下载时,我会收到一条消息Your current security settings does not allow this file to be downloaded
但是他们没有得到这个(文件只是没有下载而没有发生任何事情)
可能是什么原因造成的?我无法重现它以修复它。
非常感谢任何帮助
我曾经遇到过类似的问题,并按照以下步骤设法修复了它:
- 在 Internet Explorer 中,单击"工具",然后单击"Internet 选项"。
- 单击安全选项卡。
- 列出了四个安全区域:Internet、本地 Intranet、受信任的站点、受限制的站点。 单击您的网站所在的区域(当您导航到您的网站时,当前区域将显示在IE窗口底部的状态栏中)。
- 在此区域的安全级别下,单击自定义级别。 在"下载
- "下的"自动提示文件下载"下,单击"启用",然后单击"确定"两次。
您说您已经检查了它不是浏览器安全设置,但它可能是他们网络上的安全设置,而不仅仅是浏览器。
如果他们的网络防火墙配置为阻止下载某些类型的文件,那么除了更改要发送的文件类型之外,您可能无能为力。(或与他们的网络运营商交谈得非常好)。
考虑到如今运行IE6所涉及的安全风险,我想大多数仍在使用IE6的公司都会有相当偏执的网络安全设置,所以这很可能是一个解释。