Plupload之上传随笔

项目中用到了这个上传插件,看了下官网的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()方法执行时触发

原文地址:https://www.cnblogs.com/RaeLiu/p/5193524.html