項目中用到了這個上傳插件,看了下官網的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()方法執行時觸發