Plupload控件在IE9下不能上传、文件尺寸为空、出现下载对话框问题解决
来源:互联网 发布:手提旅行包 知乎 编辑:程序博客网 时间:2024/05/16 05:10
问题:
Plupload控件在IE10下运行良好,但在IE9下却不能上传,一点上传按钮,即出现下载对话框。而实际的返回数据为一堆正常的JSON数据。
有网友提过这个问题,他是这么提的:“使用uploader上传插件在往服务器上上传文件成功后返回JSON格式的数据被IE8拦截了,其他浏览器正常”。
确实,乍一看,这个问题提得很准确,IE9怎么把返回JSON数据拦截了,怎么没有进入到AJAX的返回处理过程?
分析:
其实,浏览器是不会有所谓的拦截的,你请求啥,它就返回啥。问题的关键在于plupload的参数设置有误。
在IE10中,plupload使用HTML5进行上传,在IE9中,使用的是flash,而flash文件的指定是通过参数来进行设置的。
var uploader = new plupload.Uploader({ //实例化一个plupload上传对象 browse_button : me._addButton.el, url : url || 'upload.jsp', flash_swf_url : 'Moxie.swf', silverlight_xap_url : 'Moxie.xap', unique_names: false, chunk_size: me.chunkSize, filters:{ mime_types : me.limitType, max_file_size : me.limitSize, //最大只能上传400kb的文件 prevent_duplicates : true //不允许选取重复文件 }, }这里的flash_swf_url即为flash文件的地址。
三个问题的原因:
1、出现下载对话框问题
如果flash地址设置不正确,plupload的请求实际上变成了http的直接请求,并未通过AJAX,而返回的恰好是一堆JSON文本,因而出现了下载对话框。
2、无法上传问题
在IE9下plupload依赖 flash控件上传文件,如果该控件都找不到,上传就无从谈起了。
3、文件大小属性缺失问题
在调试过程中,最常见的是监控到file对象没有文件大小属性(size),而正常情况下是有的,因为没有flash控件的支持,因而plupload获取不到该参数。
验证:
通过Filddler对页面请求地址的分析,发现Moxie.swf文件未找到,或地址不正确。
解决:
因此,flash_swf_url参数的正确设置是关键,要保证通过该地址能找到Moxie.swf文件,即地址应为类似“script/plupload/Moxie.swf”,通过该地址能找到Moxie.swf。
同理,也需要正确设置silverligh_xap_url的地址。
- Plupload控件在IE9下不能上传、文件尺寸为空、出现下载对话框问题解决
- plupload +springMVC实例应用(IE9下,文件多选,上传,终止,带有进度条)
- IE9 不能下载文件
- plupload iframe 隐藏 再 显示 ie9下 上传不了
- struts2文件上传时,不能为空
- 文件上传控件PlupLoad 的使用
- struts2文件上传时 上传的文件不能为空
- Fckeditor在IE9的对话框问题解决方法!
- Fckeditor在IE9的对话框问题解决方法!
- IE9上传文件出现“SCRIPT5: 拒绝访问”导致不能上传的解决办法
- plupload:在一个jsp中创建多个上传控件
- js判读上传文件控件是否为空
- ThinkPhp在phpstorm下Post提交为空的问题解决
- jquery-form中ajaxSubmit提交文件,以及解决ie9下上传文件后自动下载问题
- jquery-form中ajaxSubmit提交文件,以及解决ie9下上传文件后自动下载问题
- 在C#中利用plupload插件进行http文件上传
- ie9下获取上传文件的绝对路径
- Ajaxfileupload 在IE9下用按钮触发file上传控件,请求无法触发的问题
- BZOJ 1079 [SCOI2008]着色方案 记忆化搜索
- 【DP】【01背包】【完全背包】Birthday 题解
- 高通MSM8K bootloader系列文章
- 5
- Spring boot http编码配置(CharacterEncodingFilter)
- Plupload控件在IE9下不能上传、文件尺寸为空、出现下载对话框问题解决
- 样本不均衡
- Hibernate 注解
- 一些中文名的unicode
- 两个队列实现一个栈
- 源码库镜像下载地址
- ConfigReader(九)—— ReadGuideAbsorbTaskConfig
- Tensorflow第一个mnist数据集(理解)
- 检测版本号和版本名出现介绍页面