Win7+IE11下,下载文件打开失败
来源:互联网 发布:mac os 彻底删除软件 编辑:程序博客网 时间:2024/05/07 07:52
测试发现一个奇怪的问题,Win7+IE11下,下载文件打开失败。
具体来说,就是当点击下载链接后,IE在窗口底部提示:
要打开或者保存来自1.1.1.1的xxx.csv吗? “打开”“保存”“取消”
如果点击“打开”,则马上提示“无法下载文件xxx.csv”。
但若点击“保存”,而文件能正常下载并打开。
下载的文件是csv格式,content-type是application/ms-excel,Content-disposition是attachment; filename=xxx.csv。是服务侧java直接写response流生成的。
开发PC与测试PC的Windows和IE11版本都相同,但开发PC下载正常,所以自然想到是测试PC的IE或Windows配置有问题。但麻烦的是测试PC要用于办公,不让开发随便折腾。而且测试同事还不让开发重置IE或重启PC,要求开发明确找出来,到底是哪个配置引起这个问题,以便万一客户遇到这个问题,不仅能解决,还能给出合理的解释。
接下来就是上网google,然后将这些方法“反其道而行之”,试图在开发PC上重现这个问题,包括安全设置、文件关联等等,都没能重现。另外甚至能找到MS官网的IE下载失败补丁(2014年发布的),还有说输出流close()引起下载失败的,都没有去尝试了。
后来想办法再借用了十几分钟的测试PC,进行试验:
1、修改IE设置,问题依旧。
2、尝试把协议从https改http,问题依旧。
3、使用F12打开调试,查看网络流量,可以看到,在点击下载链接之后,但在点击“打开”按钮之前,其实http下载已经完成了。在调试窗口把响应数据流另存为csv并打开,也是正确的。
4、还发现一个细节,开发PC上点击“打开”后,会显示“安全检查...”,然后excel自动打开csv;但测试PC上,点击“打开”后马上显示“无法下载文件xxx.csv”。
最终第一天无功而返。
第二天,想到了一个问题:为什么保存正常,而直接打开就不行,甚至都不做安全扫描?这说明应该是文件都没有生成。保存一般是放到download目录,而直接打开是放到IE临时文件夹,那么很可能是临时文件夹满了(或超过设置了),导致文件不能生成!
再借测试PC来看,果然上面的IE临时文件夹占了3G多(设置的是200M左右),而且用IE的“删除临时文件”功能后,一点都没减少。继续google,反馈类似问题的人不少,MS也提供了解决方法。正想将它用到测试PC上,结果测试同事说已经将PC重启了,重启后,问题消失!(补充一下,我们还让测试PC访问了其他有类似下载/导出功能的网站,照样出现这个问题。看到这个现象,测试同事认可这不是产品的代码问题,也没有再深究)。
具体来说,就是当点击下载链接后,IE在窗口底部提示:
要打开或者保存来自1.1.1.1的xxx.csv吗? “打开”“保存”“取消”
如果点击“打开”,则马上提示“无法下载文件xxx.csv”。
但若点击“保存”,而文件能正常下载并打开。
下载的文件是csv格式,content-type是application/ms-excel,Content-disposition是attachment; filename=xxx.csv。是服务侧java直接写response流生成的。
开发PC与测试PC的Windows和IE11版本都相同,但开发PC下载正常,所以自然想到是测试PC的IE或Windows配置有问题。但麻烦的是测试PC要用于办公,不让开发随便折腾。而且测试同事还不让开发重置IE或重启PC,要求开发明确找出来,到底是哪个配置引起这个问题,以便万一客户遇到这个问题,不仅能解决,还能给出合理的解释。
接下来就是上网google,然后将这些方法“反其道而行之”,试图在开发PC上重现这个问题,包括安全设置、文件关联等等,都没能重现。另外甚至能找到MS官网的IE下载失败补丁(2014年发布的),还有说输出流close()引起下载失败的,都没有去尝试了。
后来想办法再借用了十几分钟的测试PC,进行试验:
1、修改IE设置,问题依旧。
2、尝试把协议从https改http,问题依旧。
3、使用F12打开调试,查看网络流量,可以看到,在点击下载链接之后,但在点击“打开”按钮之前,其实http下载已经完成了。在调试窗口把响应数据流另存为csv并打开,也是正确的。
4、还发现一个细节,开发PC上点击“打开”后,会显示“安全检查...”,然后excel自动打开csv;但测试PC上,点击“打开”后马上显示“无法下载文件xxx.csv”。
最终第一天无功而返。
第二天,想到了一个问题:为什么保存正常,而直接打开就不行,甚至都不做安全扫描?这说明应该是文件都没有生成。保存一般是放到download目录,而直接打开是放到IE临时文件夹,那么很可能是临时文件夹满了(或超过设置了),导致文件不能生成!
再借测试PC来看,果然上面的IE临时文件夹占了3G多(设置的是200M左右),而且用IE的“删除临时文件”功能后,一点都没减少。继续google,反馈类似问题的人不少,MS也提供了解决方法。正想将它用到测试PC上,结果测试同事说已经将PC重启了,重启后,问题消失!(补充一下,我们还让测试PC访问了其他有类似下载/导出功能的网站,照样出现这个问题。看到这个现象,测试同事认可这不是产品的代码问题,也没有再深究)。
0 0
- Win7+IE11下,下载文件打开失败
- IE11下请求JSON下载文件
- win7 chm后缀文件打开失败问题.
- win7 x64从IE10升级IE11失败
- win7 下注册dll文件失败分析
- win7 下注册dll文件失败
- Win7下VC++6.0打开文件解决方法
- WIN7下VC++6.0打开文件出错
- 关于win7 下不能打开 chm文件
- Vista、Win7下打开.hlp文件
- win7系统升级ie11,在KB2729094更新失败时的解决方法
- 解决IE11无法下载文件的问题
- IE11下载文件文件名出现乱码
- Android下载文件与实际文件大小不一致,打开失败
- IE9,IE10,IE11下当Content-type为application/json时,打开接口会出现下载弹框
- ie11浏览器For win7 x64 官方下载 V9600 官方版
- ie11浏览器For win7 x86 官方下载 V9600 官方版
- IE11 For Win7、win2008中文版官方下载地址
- 又一次Erlang 面试
- Java序列化与反序列化
- 如何在Web前端上点亮你的技能树
- Android 常见控件Spinner
- revit二次开发 提取模型线边缘并将之变成模型线
- Win7+IE11下,下载文件打开失败
- 解决谷歌浏览器不能打开html提示没有注册类
- ACM-ICPC 最短路径问题
- 2048游戏
- 欢迎使用CSDN-markdown编辑器
- Express之托管静态文件
- 正/逆向最大匹配算法
- TensorFlow下的MNIST关键原理与参数理解
- 工业制造中PHM的云架构