项目中用到了这个上传插件,看了下官网的api(边翻译边看的....),而后结合网上其余同行的博客,作个总结。html
配置参数:([]括起来为可选项,目前只接触前三项)html5
browse_button:触发文件选择对话框的按钮(通常是本身定义的id名)
api
url:上传服务器的地址数组
[filters={ title : "" , extensions : ""}]:限制上传的文件类型,两种格式以下:浏览器
格式一:服务器
filters : { mime_types : [ { title : "Image files" , extensions : "jpg,gif,png"} ] }
filters : { max_file_size=0 }
filters : { prevent_duplicates=false }
[chunk_size=0]:当上传文件大于服务器接收端文件大小限制的时候,能够分屡次请求发给服务器,若是不须要从设置中移出
ui
[container]:展示上传文件列表的容器,默认为bodyurl
[drop_element]:当浏览器支持拖拽时,可拖拽上传spa
[file_data_name="file"]:设置上传字段的名称,默认为文件
插件
[flash_swf_url]:flash文件地址
[headers]:自定义标题与上传发送
[max_retries=0]:在触发错误事件以前,重试该块或文件多少次
[multipart=true]:是否为多格式的消息发送文件和附加参数
[multipart_params]:跟 multipart关联在一块儿的键值对
[multi_selection=true]:多选对话框
[required_features]:须要哪些特性,以逗号分隔
[resize]:修改图片属性
resize: { width: 320, height: 240, quality: 90,
crop: true
}
[runtimes="html5,flash,silverlight,html4"]:上传插件初始化选用那种方式的优先级顺序,若是第一个初始化失败就走第二个,依次类推
[silverlight_xap_rul]:Silverlight xap的URL
[unique_name=false]:若是这是真的会产生独特的上传文件的文件名
属性:
id:上传实例的惟一id
state:当前状态的总上传进度。能够开始能够终止
features:uploader中包含那些特性
runtime:当前运行环境(是html五、flash等等)
files:当前上传队列,一个文件实例数组
settings:对象名称/值设置
total:总进度信息。
方法:
init():初始化
setOption(option,[value]):
getOption([option]):
refresh():从新实例化uploader
start():开始上传
stop():中止上传
disableBrowse(disable):禁用/启用浏览按钮
getFile(id):返回指定的文件对象的id
addFile(file,[fileName]):将文件添加到队列
removeFile(file):删除一个特定文件
splice(start,length):删除队列并返回删除的文件的一部分。会触发FilesRemoved和QueueChanged事件
trigger(name,Multiple):触发指定的事件
hasEventListener(name):检测是否上传指定的事件监听器
bind(name,func,scope):事件绑定
unbind(name,func):解除事件绑定
unbindAll():解除全部事件绑定
destroy():销毁plupload的实例对象
事件:
Init(uploader):初始化时触发
PostInit(uploader):当Init执行完之后要执行的事件时触发
OptionChanged(uploader,name,value,oldValue):当选项改变时触发
Refresh(uploader):当silverlight/flash或是其余运行环境须要移动时触发
StateChanged(uploader):当整个上传队列被改变时触发
UploadFile(uploader,file):当文件上传时触发
BeforeUpload(uploader,file):当文件上传完成以前触发
QueueChanged(uploader):当文件队列变化时触发
UploadProgress(uploader,file):当文件正在被上传中触发
FilesRemoved(uploader,files):当文件从上传队列中移除时触发
FileFiltered(uploader,file):添加到队列前过滤时触发
FilesAdded(uploader,file):当用户选择文件时触发
FileUploaded(uploader,file,response):当文件上传成功时触发
ChunkUploaded(uploader,file,response):当文件被分块上传时触发
UploadComplete(uploader,files):当队列中全部文件上传成功时触发
Error(uploader,files):上传出错时触发
Destroy:destroy()方法执行时触发