电竞比分网-中国电竞赛事及体育赛事平台

分享

Jquery Ajax文件上傳插件Uploadify詳解(上)

 londonKu 2012-11-15

  上傳文件的時候打算用Ajax方法,這樣用戶體驗好一些,找來找去還是Uploadify好些,可惜相關(guān)的幫助文檔不好找,園里有一篇可惜是2年前2.1版本的,和現(xiàn)在最新的3.2版差別很大,很多Option都已經(jīng)取消了。唯一可用的就是官網(wǎng)(http://www./),里面的資料還是很詳細(xì)的,所以打算把它整理成中文以便于以后查閱(Flash版Uploadify)。

  • Options(選項、參數(shù))
Option Input Type Default Value Required Info
auto Boolean true   選擇文件后是否自動上傳,如果為false則需額外再添加一個按鈕之類的去調(diào)用uploadify()函數(shù)
buttonClass String Empty String 設(shè)置Uploadify按鈕CSS樣式
buttonCursor String 'hand'   設(shè)置鼠標(biāo)放在Uploadify按鈕上的樣式,可能的值是’hand’ ‘a(chǎn)rrow’
buttonImage String null   設(shè)置按鈕背景圖片的地址,不過推薦寫在CSS
buttonText String 'SELECT FILES'   設(shè)置按鈕中的文字,支持中文
checkExisting String false   設(shè)置一個路徑在服務(wù)器端檢測文件是否已存在,返回10分別代表已存在、不存在
debug Boolean false   轉(zhuǎn)換到調(diào)試模式
fileObjName String 'Filedata'   設(shè)置上傳的文件在服務(wù)器端的參數(shù),比如在C#端就可以用Request.Files["Filedata"]獲取上傳的文件
fileSizeLimit Number/String     上傳文件大小限制,默認(rèn)以KB為單位,也可傳入字符串參數(shù)自定義其他單位(B/MB/GB,設(shè)置為0代表不限制
fileTypeDesc String 'All Files'   瀏覽文件對話框中文件類型的描述
fileTypeExts String '*.*'   限制上傳文件的拓展名(i.e. ‘*.jpg; *.png; *.gif’)
formData JSON Object Empty Object   如字面意思,文件上傳同時向后臺傳遞的表單數(shù)據(jù),Json格式傳遞
height Number 30   按鈕高度(PX)
itemTemplate String false   可以設(shè)置文件上傳隊列的HTML模版,四個模版標(biāo)簽:1. instanceID:當(dāng)前Uploadify實例的ID;2. fileID:隊列中文件的ID;3. fileName:文件名4. fileSize:文件大小。這樣插入模版標(biāo)簽:${fileName}
method String 'post'   提交文件上傳表單的方式:”get”,”post”
multi Boolean True   選擇文件是一次是否能選擇多個
overrideEvents JSON Array Empty Array   你想要繞過默認(rèn)事件的腳本名的數(shù)組,就是想要覆蓋掉的頁面事件。
preventCaching Boolean true   防止SWF文件緩存,默認(rèn)會為SWF文件請求加上一個隨機(jī)數(shù)參數(shù)
progressData String 'percentage'   顯示上傳進(jìn)度的方式,百分比/速度:‘percentage’ /‘speed’
queueID String false   可以手工設(shè)置文件上傳隊列的ID,默認(rèn)會自動生成一個(手工設(shè)置ID后就可以自定義CSS樣式了)
queueSizeLimit Number 999   同一時間,上傳文件隊列的最大數(shù)量(不是可上傳文件總數(shù))。如果隊列中的文件數(shù)超過此限制,onSelectError的事件被觸發(fā)。
removeCompleted Boolean true   完成的隊列是保持顯示還是移除(DOM)
removeTimeout Number 3   完成的隊列移除(DOM)的時延秒數(shù)
requeueErrors Boolean false   如果設(shè)置為true,則返回錯誤,并重新排隊,嘗試再次上傳文件
successTimeout Number 30   文件完成上傳后等待服務(wù)器返回響應(yīng)的時間,如果超過這個時間將會自行斷言上傳成功。
swf String 'uploadify.swf' uploadify.swf文件的路徑
uploader String 'uploadify.php' 服務(wù)器端上傳文件的腳本路徑
uploadLimit Number 999   允許上傳文件的總數(shù)。如果超過這個數(shù)量onUploadError事件將會被觸發(fā)
width Number 120   按鈕寬度(PX)

 

  •  Events事件(函數(shù))
Event Arguments Overridable Info
onCancel file   取消上傳時觸發(fā),參數(shù)為當(dāng)前文件對象
onClearQueue queueItemCount   當(dāng)’cancel’方法以’*’作為參數(shù)時觸發(fā),如$('#file_upload').uploadify('cancel','*')
onDestroy     ’destroy’方法觸發(fā)
onDialogClose queueData:包含以下隊列信息:1. filesSelected瀏覽文件對話框中選擇文件的數(shù)量 2. filesQueued:添加到隊列中的文件數(shù)(沒有返回錯誤的)3.filesReplaced:隊列中的替換的文件數(shù) 4. filesCancelled:添加到隊列中取消文件的數(shù)量(不是替換) 5. filesErrored:返回錯誤的文件數(shù) N/A 當(dāng)瀏覽文件窗口關(guān)閉時被觸發(fā)。如果該事件被添加在overrideEvents選項中,那么若添加文件時發(fā)生錯誤后,不會提示默認(rèn)錯誤信息
onDialogOpen     瀏覽文件窗口打開時觸發(fā)
onDisable     ’disable’方法(參數(shù)為true)觸發(fā)
onEnable     ’disable’方法(參數(shù)為false)觸發(fā)
onFallback     在初始化過程中觸發(fā),如果未檢測到瀏覽器中兼容版本的Flash player
onInit     Uploadify第一次被調(diào)用時初始化最后被調(diào)用
onQueueComplete queueData:包含以下隊列信息:uploadsSuccessful、uploadsErrored分別是上傳成功/失敗的文件數(shù)量   隊列中文件傳輸完成時被調(diào)用
onSelect file:被選擇的文件對象 N/A 當(dāng)每個文件被選擇并添加到隊列中時觸發(fā)
onSelectError   N/A 當(dāng)每個文件被選擇時返回錯誤后觸發(fā)
onSWFReady     Flash對象(SWF按鈕)加載完成時觸發(fā)
onUploadComplete file:上傳的文件對象或返回一個錯誤。 N/A 每個文件上傳完成時,無論是成功或返回一個錯誤觸發(fā)一次。
onUploadError file:已經(jīng)上傳的文件對象
errorCode:返回的錯誤碼
errorMsg:返回的錯誤信息
errorString:可讀(面向用戶)的錯誤信息,包含作物詳細(xì)信息
  文件上傳后服務(wù)器端返回錯誤時觸發(fā)
onUploadProgress file:上傳文件對象
bytesUploaded:已上傳的字節(jié)數(shù)
bytesTotal:當(dāng)前文件的總字節(jié)數(shù)
totalBytesUploaded:在當(dāng)前上傳操作上傳的字節(jié)總數(shù)(所有文件)
totalBytesTotal:總要上傳的字節(jié)數(shù)(所有文件)
  文件上傳進(jìn)度信息每次更新時觸發(fā)(可用于自定義文件上傳進(jìn)度顯示)
onUploadStart file:即將上傳的文件對象   上傳文件前觸發(fā)
onUploadSuccess file:已上傳文件的對象
Data:服務(wù)器端返回的數(shù)據(jù)
Response:服務(wù)器端返回的響應(yīng),成功則為true,無響應(yīng)則為false
N/A 每個文件上傳后服務(wù)器返回成功時觸發(fā)

 

 

  • Methods內(nèi)置方法
Method Arguments Info
cancel

fileID:可以輸入任意數(shù)量文件的ID,如果以“*”作為第一個參數(shù),則隊列中的所有文件將被取消。如果沒有任何文件ID作為參數(shù),則隊列中的第一個文件將被取消。

suppressEvent:如果設(shè)置為trueonUploadCancel事件將被阻止。清除隊列時,這是非常有用的。

上傳文件時取消隊列中的一個文件
destroy   清空Uploadify中所有文件輸入,并返回到初始狀態(tài)
disable setDisabled:設(shè)置true/false來禁用/啟用按鈕  
settings

Name:設(shè)置的名稱。僅設(shè)置這個參數(shù)將返回值。

Value:設(shè)置的值 resetObjects:設(shè)置為true時,更新的postData對象刪除現(xiàn)有的值。否則,新的值將被添加到現(xiàn)有的。

獲取或設(shè)置某個Uploadify實例的設(shè)置選項(Swf文件設(shè)置無法改變)
stop   停止當(dāng)前所有上傳和重新排隊的過程
upload fileID:可傳入多個欲上傳文件的ID作為參數(shù),如果僅以“*”作為參數(shù),則代表所有文件 上傳特定文件或隊列中所有文件

 

     好了,Uploadify客戶端這邊的配置基本就這么多了,補(bǔ)充一點Uploadify 3.2的版本里取消了原先的‘cancelImg’配置選項,而是把它放到了CSS中,現(xiàn)在uploadify-cancel.png這張圖片的路徑(相對uploadify.css)默認(rèn)為“../img/uploadify-cancel.png”。對于本文中出現(xiàn)的錯誤,歡迎不吝指正。在下一遍隨筆里會介紹服務(wù)器端的設(shè)置,并做一些demo,現(xiàn)在時間也不早了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多