jquery.uploadify.js上传插件
对于常用上传使用API及配置如下:
btn.uploadify({});
其中btn指代id选择器,由于该插件基于jquery,所以可以使用jquery选择器选择id元素;使用是将配置传到uploadify({})中的对象中即可;
插件中的配置项
配置(解释) | key | value |
---|---|---|
插件使用到的swf文件所在路径 | swf | swf文件对应的地址,该文件为本身提供 |
上传文件的地址 | uploader | 上传接口的地址 |
需要初始化上传按钮的名称 | buttonText | 上传按钮的名称 |
为按钮添加样式的class类名 | buttonClass | class名称(自定义) |
单文件上传的超时时间 | successTimeout | 200(s为单位) |
需要初始化上传按钮的宽度 | width | 120px |
需要初始化上传按钮的高度 | height | 30px |
是否开启debug模式 | debug | false(默认为false) |
可否选择多个文件 | multi | true(默认为true) |
当选择可以上传多个文件后,上传一个完成后是否默认直接继续上传 | auto | ture(默认为true) |
弹窗中默认出现的文件形式 | fileTypeDesc | ‘All’(默认展示全部) |
可上传文件的后缀名 | fileTypeExts | ‘.jpg; .png;’等(上传不允许类型会有错误信息提示) |
允许同时上传的个数 | simUploadLimit | 1(默认为1),在源代码中为查到该属性,不清楚是否真实有效果 |
可以上传的文件限制 | uploadLimit | 9999(默认为999) |
单次上传文件的size最大值 | fileSizeLimit | 里面可以传字符串,使用’10MB’,可接受单位”MB,KB,B,GB”等,默认为’KB’ |
是否移除掉队列中已经完成上传的文 | removeCompleted | false,(false为不移除) |
当鼠标落在按钮时展示的手型 | buttonCursor | ‘hand’(手)或者’arrow’(箭头) |
跟随接口需上传的参数 | formData | {a:’1’,’b’:2},如需设置动态数据在onuploadstart钩子函数内通过setting方法设置 |
文件上传的形式 | method | ‘post’,也可以是’get’ |
###定义列表
插件中的钩子函数:
onInit:
function(data){
//每次初始化一个队列时触发,返回uploadify对象的实例
};
onError:
function(){
//在初始化时出现错误时触发
};
onDialogOpen:
function(){
//在选择文件弹窗打开时触发
};
onDialogClose:
function(file){
//在选择文件弹窗关闭时触发
返回file参数,有以下属性:
filesSelected 浏览文件对话框中选取的文件数量
filesQueued 加入上传队列的文件数
filesReplaced 替换的文件个数
filesCancelled 被取消的文件个数
filesErrored 错误的文件个数
};
onUploadStart:
function(file){
//每次开始上传时触发,上传几张图片则会触发几次
file为每次上传时的文件对象
存在name ,type, size等属性
};
onUploadSuccess:
function(file,data,respone){
//单个文件上传成功之后触发
};
onUploadError:
function(file,errorCode,erorMsg,errorString){
//单个文件上传失败之后触发
};
onUploadComplete:
function(file){
当文件上传结束后触发
};
onSelect:
function(file){
//选择每个文件进入队列时触发,返回file参数
};
onSelectError:
function(file,errorCode,errorMsg){
//选择文件出错时触发,返回file,erroCode,errorMsg三个参数;
file错误的文件;
errorCode错误码;
errorMsg错误信息;
};
后记
- jquery.uploadify.js其实具有两个版本,一个是html5版本,也就是收费版;还有一个就是本文介绍的版本,flash版本,免费版;(且兼容性较好);