A-A+
jquery文件上传插件:upload无刷新AJAX进度多文件批量上传示例
最后在做一个多文件上传的功能,但找了很多的插件都没有用上了,下文来为各位介绍一个:jquery-upload无刷新AJAX进度多文件批量上传,希望文章能够帮助到大家。
1、插件说明
在支持FormData的浏览器完全使用AJAX(即XMLHttpRequest)和input的files属性共同完成上传文件,否则就模拟表单提交来上传文件。支持写的文章和脚本现在看起来都比较稚嫩,现在重新整理、约束,更好的API和便捷使用方法。
插件名称:jquery-upload。
2、插件使用
- // 1、判断浏览器支持特征
- // 是否支持HTML5的input的files对象,用于同时选择上传多张图片
- $.support.inputFiles;
- // 是否支持HTML5的FormData,用于AJAX提交
- $.support.formData;
- // 2、默认参数
- $.fn.upload.defaults = {
- // 提交地址
- action: "",
- // 传递额外数据(键值对字符串)
- data: null,
- // 表单文件的name值
- inputName: "file",
- // 文件最小容量(单位B,默认0)
- minSize: 0,
- // 文件最大容量(单位B,默认1M=1024KB=1024*1024B)
- maxSize: 1048576,
- // 文件类型(文件后缀)
- fileType: ["png", "jpg", "jpeg", "gif"],
- // 错误消息提示
- errorMsg: {
- // 单文件上传错误或失败
- singleError: "第{n}个文件上传错误或失败",
- // 多文件上传错误或失败
- multiError: "上传错误或失败",
- // 单文件未选择
- singleNone: "尚未选择第{n}个上传文件",
- // 多文件未选择
- multiNone: "尚未选择任何上传文件",
- // 多文件列表为空
- empty: "待上传文件为空",
- // 单、多文件错误,{n}表示该文件的序号,开始序号为1
- type: "第{n}个文件类型不符合要求",
- size: "第{n}个文件容量不符合要求"
- },
- // 完成回调,无论成功还是失败
- oncomplete: emptyFn,
- // 成功回调
- onsuccess: emptyFn,
- // 失败回调
- onerror: emptyFn,
- // 进度回调
- onprogress: emptyFn
- };
- // 3、上传文件
- $("#file").upload({
- action: "upload.php"
- });
- // 4、增加文件MIME配对关系
- // 添加单个
- $.fn.upload.addTypeRelationship("text/html", "html");
- // 添加多个
- $.fn.upload.addTypeRelationship({
- "text/html": "html",
- "text/xhtml": "xhtml"
- });