最近在项目中需要实现文件异步上传到后台解析,并返回解析结果的一个需求。无奈强行被要求兼容各个版本的 IE,所以一开始计划的 HTML5
的 fileReader.js
和 formData
对象就只好放弃。
ajaxfileupload 介绍
ajaxfileupload.js
是一种十分简单的 jQuery 插件,可以兼容 IE 以及各种主流浏览器,它的原理也十分简单,通过创建隐藏的表单和 iframe
然后用 JS 去提交,获得返回值。
options 参数说明:
1、url 上传处理程序地址。
2,fileElementId 需要上传的文件域的 ID,即 <input type="file">
的 ID。
3,secureuri 是否启用安全提交,默认为 false。
4,dataType 服务器返回的数据类型。可以为 xml,script,json,html。如果不填写,jQuery 会自动判断。
5,success 提交成功后自动执行的处理函数,参数 data 就是服务器返回的数据。
6,error 提交失败自动执行的处理函数。
7,data 自定义参数。这个东西比较有用,当有数据是与上传的图片相关的时候,这个东西就要用到了。
8, type 当要提交自定义参数时,这个参数要设置成 post
这里的配置和 ajax 很像,我就不多做介绍了,进入正题。
使用方法
首先引入 jQuery 与 ajaxFileUpload 插件。注意先后顺序。
<script src="/js/jquery.min.js"></script>
<script src="js/ajaxfileupload.js"></script>
再编写 HTML 代码,由于 IE9+ 的安全协议,无法由 js 触发点击事件来上传文件,这里为了解决这个问题,将 file 的隐藏 Input 域覆盖到了点击按钮之上。
`
</>
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于