我有以下情况(简化):
我有一个脚本file.php?file = foo.pdf,它在文档根目录之外传递文件(它没有html,它只是下载推送脚本)。某些文件受脚本保护 - 在这种情况下,用户被重定向到login.php。成功登录后,将使用用户要下载的文件设置会话变量。用户被重定向到home.php,我用下载源文件.php?file = foo.pdf创建一个iframe。当脚本file.php开始推送下载时,它会取消会话变量。
这适用于Firefox,但在IE中,这给了我一个安全警告,下载被阻止。如果我单击该栏并允许下载IE重新加载页面。但由于会话已取消设置,因此未生成iframe,因此文件不会再次“下载”。
IE似乎确实启动了第一次下载,但在收到标题时中止了它。所以我想我没有机会判断下载是否已被浏览器中止。
有没有人有解决方案? (我不想要下载按钮)。
答案 0 :(得分:0)
我可能错了,但您在将文件发送到iframe后尝试取消设置会话变量吗?在这种情况下,当IE安全检查将保持下载变量时,下一个请求仍然存在
答案 1 :(得分:0)
您是否在下载链接中“定位”了iframe?
你为什么不瞄准=“父母”?没有html和更改的mime标题(我假设八位字节流或强制下载)你的页面将不会被覆盖,你的下载将会成功。
答案 2 :(得分:0)
坚持这个(感谢回复,但没有一个解决了问题 - IE正在下载请求设置Cookies,但之后阻止了下载),我倾向于认为解决这个问题的唯一方法是提供一个下载页面,用户可以在其中主动点击下载链接(或至少某种下载覆盖)。