项目中用到了这个上传插件,看了下官网的api(边翻译边看的....),然后结合网上其他同行的博客,做个总结。
配置参数:([]括起来为可选项,目前只接触前三项)
browse_button:触发文件选择对话框的按钮(一般是自己定义的id名)
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]:当上传文件大于服务器接收端文件大小限制的时候,可以分多次请求发给服务器,如果不需要从设置中移出
[container]:展现上传文件列表的容器,默认为body
[drop_element]:当浏览器支持拖拽时,可拖拽上传
[file_data_name="file"]:设置上传字段的名称,默认为文件
[flash_swf_url]:flash文件地址
[headers]:自定义标题与上传发送
[max_retries=0]:在触发错误事件之前,重试该块或文件多少次
[multipart=true]:是否为多格式的消息发送文件和附加参数
[multipart_params]:跟 multipart关联在一起的键值对
[multi_selection=true]:多选对话框
[required_features]:需要哪些特性,以逗号分隔
[resize]:修改图片属性
resize: { 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:当前运行环境(是html5、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()方法执行时触发