JQuery上傳插件Uploadify API詳解

JQuery上傳插件Uploadify API詳解

一、相關key值介紹
uploader:uploadify.swf文件的相對路徑,該swf文件是一個帶有文字BROWSE的按鈕,點擊後淡出打開文件對話框,默認值:uploadify.swf。
script:後臺處理程序的相對路徑 。默認值:uploadify.php
scriptData:上傳到後臺的參數,參數爲json格式。
checkScript:用來判斷上傳選擇的文件在服務器是否存在的後臺處理程序的相對路徑
fileDataName:設置一個名字,在服務器處理程序中根據該名字來取上傳文件的數據。默認爲Filedata
method:提交方式Post或Get,默認爲Post
scriptAccess:flash腳本文件的訪問模式,如果在本地測試設置爲always,默認值:sameDomain
folder:上傳文件存放的目錄 。
queueID:文件隊列的ID,該ID與存放文件隊列的div的ID一致。
queueSizeLimit:當允許多文件生成時,設置選擇文件的個數,默認值:999。
multi:設置爲true時可以上傳多個文件。
auto:設置爲true當選擇文件後就直接上傳了,爲false需要點擊上傳按鈕才上傳 。
fileDesc:這個屬性值必須設置fileExt屬性後纔有效,用來設置選擇文件對話框中的提示文本,如設置fileDesc爲“請選擇rar doc pdf文件”,打開文件選擇。

fileExt:設置可以選擇的文件的類型,格式如:'*.doc;*.pdf;*.rar'。
sizeLimit:上傳文件的大小限制 。
simUploadLimit:允許同時上傳的個數 默認值:1。
buttonText:瀏覽按鈕的文本,默認值:BROWSE。
buttonImg:瀏覽按鈕的圖片的路徑。
hideButton:設置爲true則隱藏瀏覽按鈕的圖片。
rollover:值爲true和false,設置爲true時當鼠標移到瀏覽按鈕上時有反轉效果。
width:設置瀏覽按鈕的寬度,默認值:110。
height:設置瀏覽按鈕的高度,默認值:30。
wmode:設置該項爲transparent可以使瀏覽按鈕的flash背景文件透明,並且flash文件會被置爲頁面的最高層。 默認值:opaque 。
cancelImg :選擇文件到文件隊列中後的每一個文件上的關閉按鈕圖標,如下圖:

onInit: 做一些初始化的工作。
onSelect:選擇文件時觸發,該函數有三個參數,參數如下:
    event:事件對象。
    queueID:文件的唯一標識,由6位隨機字符組成。
    fileObj:選擇的文件對象,有name、size、creationDate、modificationDate、type5個屬性。
onSelectOnce:在單文件或多文件上傳時,選擇文件時觸發。該函數有兩個參數event,data,data對象有以下幾個屬性:
   fileCount:選擇文件的總數。
   filesSelected:同時選擇文件的個數,如果一次選擇了3個文件該屬性值爲3。
   filesReplaced:如果文件隊列中已經存在A和B兩個文件,再次選擇文件時又選擇了A和B,該屬性值爲2。
   allBytesTotal:所有選擇的文件的總大小。
onCancel: 當點擊文件隊列中文件的關閉按鈕或點擊取消上傳時觸發。該函數有event、queueId、fileObj、data四個參數,前三個參數同onSelect中的三個參數,data對象有兩個屬性fileCount和allBytesTotal。
   fileCount:取消一個文件後,文件隊列中剩餘文件的個數。
   allBytesTotal:取消一個文件後,文件隊列中剩餘文件的大小。
onClearQueue:當調用函數fileUploadClearQueue時觸發。有event和data兩個參數,同onCancel中的兩個對應參數。
onQueueFull:當設置了queueSizeLimit並且選擇的文件個數超出了queueSizeLimit的值時觸發。該函數有兩個參數event和queueSizeLimit。
onError:當上傳過程中發生錯誤時觸發。該函數有event、queueId、fileObj、errorObj四個參數,其中前三個參數同上,errorObj對象有type和info兩個屬性。
   type:錯誤的類型,有三種‘HTTP’,‘IO’,or‘Security’
   info:錯誤的描述
onOpen:點擊上傳時觸發,如果auto設置爲true則是選擇文件時觸發,如果有多個文件上傳則遍歷整個文件隊列。該函數有event、queueId、fileObj三個參數,參數的解釋同上。
onProgress:點擊上傳時觸發,如果auto設置爲true則是選擇文件時觸發,如果有多個文件上傳則遍歷整個文件隊列,在onOpen之後觸發。該函數有event、queueId、fileObj、data四個參數,前三個參數的解釋同上。data對象有四個屬性percentage、bytesLoaded、allBytesLoaded、speed:
   percentage:當前完成的百分比
   bytesLoaded:當前上傳的大小
   allBytesLoaded:文件隊列中已經上傳完的大小
   speed:上傳速率 kb/s
onComplete:文件上傳完成後觸發。該函數有四個參數event、queueId、fileObj、response、data五個參數,前三個參數同上。response爲後臺處理程序返回的值,data有兩個屬性fileCount和speed:
   fileCount:剩餘沒有上傳完成的文件的個數。
   speed:文件上傳的平均速率 kb/s
注:fileObj對象和上面講到的有些不太一樣,onComplete的fileObj對象有個filePath屬性可以取出上傳文件的路徑。
onAllComplete:文件隊列中所有的文件上傳完成後觸發。該函數有event和data兩個參數,data有四個屬性,分別爲:
   filesUploaded :上傳的所有文件個數。
   errors :出現錯誤的個數。
   allBytesLoaded :所有上傳文件的總大小。
   speed :平均上傳速率 kb/s

二、相關函數介紹
在上面已說了uploadifyUploaduploadifyClearQueue兩個函數,除此之外還有幾個函數:

uploadifySettings:可以動態修改上面介紹的那些key值,如下面代碼:
$('#uploadify').uploadifySettings('folder','JS');

如果上傳按鈕的事件寫成下面這樣,文件將會上傳到uploadifySettings定義的目錄中
<a href="javascript:$('#uploadify').uploadifySettings('folder','JS');$('#uploadify').uploadifyUpload()">上傳</a>

uploadifyCancel:該函數接受一個queueID作爲參數,可以取消文件隊列中指定queueID的文件。
$('#uploadify').uploadifyCancel(id);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章