uploadify上传文件在360浏览器急速模式下失败
2016-08-12 16:26
225 查看
使用uploadify控件操作文件上传,发现此控件是单个文件上传,比如我选择了5个文件,点击上传,是分别调用5次上传方法进行保存;
在IE9+及谷歌下操作均正常,360浏览器兼容模式下也能正常操作,但是360极速模式下报302错误,网上找资料讲的基本上是:
1、js或css文件路径不对,比如:IE、谷歌<script type="text/javascript" src="uploadify/jquery.uploadify.js"></script>
但是在360极速模式下需要<script type="text/javascript" src="/uploadify/jquery.uploadify.js"></script>或<script type="text/javascript" src="./uploadify/jquery.uploadify.js"></script>
2、路径请求:如下图
需要在swf文件路径后添加随机数保证每次请求不同;
总结:以上好像针对老版本的可以生效,但是新版本的uploadify似乎不行;
最后发现,原因是uploadify发送请求时,360浏览器极速模式下不发送session(网上查询得出),拦截器获取的session一直为null,导致拦截判断当前未登录而没有进行上传操作(用户未登录无法获取当前操作人员);
以下为拦截器代码:
开始想:在初始化上传页面的时候生成个随机数,然后将随机数保存在session中,并且发送到页面,保存时讲这个随机数带到后台,判断session是否存在这个随机数,存在即让通过;测试发现,通过session.getAttribute("随机数Id")一直未null;
后来通过获取初始化时的sessionId和上传请求是的sessionId发现,并不是同一个session,由于uploadify上传操作请求,是基于插件发出的,和浏览器的请求有区别;
最后只能在用户登录成功之后,将session保存到一个Map集合中,key为sessionId,在页面初始化话是,将sessionId带到页面,随着上传请求一起发送到后台,然后验证当前session如果为空时(上面讲了360浏览器不发送session导致session为空),拿到上传操作中的sessionId,到Map集合中验证是否存在session,如存在,则说明用户已经登陆,正常通过;
在IE9+及谷歌下操作均正常,360浏览器兼容模式下也能正常操作,但是360极速模式下报302错误,网上找资料讲的基本上是:
1、js或css文件路径不对,比如:IE、谷歌<script type="text/javascript" src="uploadify/jquery.uploadify.js"></script>
但是在360极速模式下需要<script type="text/javascript" src="/uploadify/jquery.uploadify.js"></script>或<script type="text/javascript" src="./uploadify/jquery.uploadify.js"></script>
2、路径请求:如下图
需要在swf文件路径后添加随机数保证每次请求不同;
总结:以上好像针对老版本的可以生效,但是新版本的uploadify似乎不行;
最后发现,原因是uploadify发送请求时,360浏览器极速模式下不发送session(网上查询得出),拦截器获取的session一直为null,导致拦截判断当前未登录而没有进行上传操作(用户未登录无法获取当前操作人员);
以下为拦截器代码:
开始想:在初始化上传页面的时候生成个随机数,然后将随机数保存在session中,并且发送到页面,保存时讲这个随机数带到后台,判断session是否存在这个随机数,存在即让通过;测试发现,通过session.getAttribute("随机数Id")一直未null;
后来通过获取初始化时的sessionId和上传请求是的sessionId发现,并不是同一个session,由于uploadify上传操作请求,是基于插件发出的,和浏览器的请求有区别;
最后只能在用户登录成功之后,将session保存到一个Map集合中,key为sessionId,在页面初始化话是,将sessionId带到页面,随着上传请求一起发送到后台,然后验证当前session如果为空时(上面讲了360浏览器不发送session导致session为空),拿到上传操作中的sessionId,到Map集合中验证是否存在session,如存在,则说明用户已经登陆,正常通过;
相关文章推荐
- jQuery uploadify在谷歌和火狐浏览器上传失败的解决方案
- 用Meta标签控制360浏览器默认极速模式打开自己的网站
- jquery插件uploadify多图上传功能实现代码
- Jquery uploadify上传插件使用详解
- AspNet中使用JQuery上传插件Uploadify详解
- 基于jQuery的Web上传插件Uploadify使用示例
- 解决jQuery uploadify在非IE核心浏览器下无法上传
- jquery uploadify 在FF下无效的解决办法
- jQuery文件上传控件 Uploadify 详解
- jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
- uploadify多文件上传参数设置技巧
- 简单实现限制uploadify上传个数
- 多种方法实现360浏览器下禁止自动填写用户名密码
- JQuery上传插件Uploadify使用详解及错误处理
- jQuery文件上传插件Uploadify使用指南
- Uploadify上传文件方法
- jquery插件uploadify实现带进度条的文件批量上传
- 解决jQuery上传插件Uploadify出现Http Error 302错误的方法
- 基于Jquery插件Uploadify实现实时显示进度条上传图片
- jQuery插件uploadify实现ajax效果的图片上传