Uploadify 3.2 參數屬性、事件、方法函數詳解

來源:互聯網
上載者:User

標籤:

一、屬性

 

屬性名稱 預設值 說明
auto true 設定為true當選擇檔案後就直接上傳了,為false需要點擊上傳按鈕才上傳 。
buttonClass ” 按鈕樣式
buttonCursor ‘hand’ 滑鼠指標懸停在按鈕上的樣子
buttonImage null 瀏覽按鈕的圖片的路徑 。
buttonText ‘SELECT FILES’ 瀏覽按鈕的文本。
checkExisting false 檔案上傳重複性檢查程式,檢查即將上傳的檔案在伺服器端是否已存在,存在返回1,不存在返回0
debug false 如果設定為true則表示啟用SWFUpload的偵錯模式
fileObjName ‘Filedata’ 檔案上傳對象的名稱,如果命名為’the_files’,PHP程式可以用$_FILES[‘the_files‘]來處理上傳的檔案對象。
fileSizeLimit 0

上傳檔案的大小限制 ,如果為整數型則表示以KB為單位的大小,如果是字串,則可以使用(B, KB, MB, or GB)為單位,比如’2MB’;

如果設定為0則表示無限制

fileTypeDesc ‘All Files’ 這個屬性值必須設定fileTypeExts屬性後才有效,用來設定選擇檔案對話方塊中的提示文本,如設定fileTypeDesc為“請選擇rar doc pdf檔案”
fileTypeExts ‘*.*’ 設定可以選擇的檔案的類型,格式如:’*.doc;*.pdf;*.rar’ 。
formData   JSON格式上傳每個檔案的同時提交到伺服器的額外資料,可在’onUploadStart’事件中使用’settings’方法動態設定。
height 30 設定瀏覽按鈕的高度 ,預設值
itemTemplate false 用於設定上傳隊列的HTML模版,可以使用以下標籤:
instanceID – Uploadify執行個體的ID
fileID – 列隊中此檔案的ID,或者理解為此任務的ID
fileName – 檔案的名稱
fileSize – 當前上傳檔案的大小
插入模版標籤時使用格式如:${fileName}
method Post 提交方式Post或Get
multi true 設定為true時可以上傳多個檔案。
overrideEvents   設定哪些事件可以被重寫,JSON格式,如:’overrideEvents’ : [‘onUploadProgress‘]
preventCaching true 如果為true,則每次上傳檔案時自動加上一串隨機字串參數,防止URL緩衝影響上傳結果
progressData ‘percentage’ 設定上傳進度顯示方式,percentage顯示上傳百分比,speed顯示上傳速度
queueID false 設定上傳隊列容器DOM元素的ID,如果為false則自動產生一個隊列容器。
queueSizeLimit 999 隊列最多顯示的任務數量,如果選擇的檔案數量超出此限制,將會出發onSelectError事件。
注意此項並非最大檔案上傳數量,如果要限制最大上傳檔案數量,應設定uploadLimit。
removeCompleted true 是否自動將已完成任務從隊列中刪除,如果設定為false則會一直保留此任務顯示。
removeTimeout 3 如果設定了任務完成後自動從隊列中移除,則可以規定從完成到被移除的時間間隔。
requeueErrors false 如果設定為true,則單個任務上傳失敗後將返回錯誤,並重新加入任務隊列上傳。
successTimeout 30 檔案上傳成功後服務端應返回成功標誌,此項設定返回結果的逾時時間
swf ‘uploadify.swf’ uploadify.swf 檔案的相對路徑。
uploader uploadify.php 幕後處理程式的相對路徑。
uploadLimit 999 最大上傳檔案數量,如果達到或超出此限制將會觸發onUploadError事件。
width 120 設定檔案瀏覽按鈕的寬度。

二、事件

事件名稱 說明
onCancel(file)

當點擊檔案隊列中檔案的關閉按鈕或點擊取消上傳時觸發,file參數為被取消上傳的檔案對象

onClearQueue(queueItemCount) 當調用函數cancel方法時觸發,queueItemCount參數為被取消上傳的檔案數量。
onDestroy() 當destory方法被調用時觸發
onDialogClose(queueData)

當檔案瀏覽框關閉時觸發,如果將此事件被重寫,則當向隊列添加檔案上傳出錯時不會彈出錯誤訊息提示。

queueData對象包含如下屬性:

  • filesSelected 檔案選擇對話方塊中共選擇了多少個檔案
  • filesQueued 已經向隊列中添加了多少個檔案
  • filesReplaced 已經向隊列中替換了多少個檔案
  • filesCancelled 取消了多少個檔案 filesErrored 出錯了多少個檔案
onDialogOpen() 當檔案選擇對話方塊彈出時立即出發,但可能在檔案選擇對話方塊被關閉之前並不能全部執行。
onDisable() 當disable方法禁用Uploadify上傳按鈕時被調用時觸發。
onEnable() 當disable方法啟用Uploadify上傳按鈕時被調用時觸發。
onFallback() 當Uploadify初始化過程中檢測到當前瀏覽器不支援flash時觸發。
onInit() 首次初始化Uploadify結束時觸發。
onQueueComplete(queueData)

檔案上傳隊列處理完畢後觸發。

queueData對象包含如下屬性:

  • uploadsSuccessful – 上傳成功的檔案數量
  • uploadsErrored – 上傳失敗的檔案數量
onSelect(file)

選擇檔案後向隊列中添加每個上傳任務時都會觸發。

onSelectError(file, errorCode, errorMsg)

選擇檔案後向隊列中添加每個上傳任務時如果失敗都會觸發。

file – 檔案對象

errorCode – 錯誤碼如下:

  • QUEUE_LIMIT_EXCEEDED – 任務數量超出隊列限制;
  • FILE_EXCEEDS_SIZE_LIMIT – 檔案大小超出限制;
  • ZERO_BYTE_FILE – 檔案大小為0
  • INVALID_FILETYPE – 檔案類型不符合要求

errorMsg – 錯誤提示,可通過’this.queueData.errorMsg’定製

onSWFReady() Flash檔案載入成功後觸發。
onUploadComplete(file) 每個檔案上傳完畢後無論成功與否都會觸發。
onUploadError(file, errorCode, errorMsg, errorString) 檔案上傳出錯時觸發,參數由服務端程式返回。
onUploadProgress(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal)

處理上傳隊列的過程中會多次觸發此事件,每當任務狀態有更新時都會觸發。

  • file – 檔案對象
  • bytesUploaded – 已上傳的位元組數
  • bytesTotal – 檔案總位元組數
  • totalBytesUploaded – 當前任務隊列中全部檔案已上傳的總位元組數
  • totalBytesTotal – 當前任務隊列中全部檔案的總位元組數
onUploadStart(file) 當檔案即將開始上傳時立即觸發
onUploadSuccess(file, data, response)

當檔案上傳成功時觸發

  • file – 檔案對象
  • data – 服務端輸出返回的資訊
  • response – 有輸出時為true,如果無響應為false,如果返回的是false,當超過successTimeout設定的時間後假定為true
 

三、方法

方法名稱 說明 應用舉例
cancel(fileID, suppressEvent)

取消隊列中的任務,不管此任務是否已經開始上傳

  • fileID – 要取消的檔案ID,如果為空白則取消隊列中第一個任務,如果為’*‘則取消所有任務
  • suppressEvent – 是否阻止觸發onUploadCancel事件,當清空隊列時非常實用。

<a href="javascript:$(‘#file_upload’).uploadify(‘cancel’)">取消第一個</a>

<a href="javascript:$(‘#file_upload’).uploadify(‘cancel’, ‘*’)">清空隊列</a>

<a href="javascript:$(‘#file_upload’).uploadify(‘upload’, ‘*’)">開始上傳所有任務</a>

destroy() 銷毀Uploadify執行個體並將檔案上傳按鈕恢複到原始狀態 <a href="javascript:$(‘#file_upload’).uploadify(‘destroy’)">銷毀Uploadify執行個體</a>
disable(setDisabled)

禁用或啟用檔案瀏覽按鈕

setDisabled – 設定為true表示禁用,false為啟用

<a href="javascript:$(‘#file_upload’).uploadify(‘disable’, true)">禁用按鈕</a>

<a href="javascript:$(‘#file_upload’).uploadify(‘disable’, false)">啟用按鈕</a>

settings(name, value, resetObjects)

擷取或設定Uploadify執行個體參數

  • name – 屬性名稱,如果只提供屬性名稱則表示擷取其值
  • value – 屬性值
  • resetObjects – 設定為true時,更新postData對象將清空現有的值。否則,新的值將被添加到其末尾。

$(‘#file_upload’).uploadify(‘settings’,‘buttonText’,‘BROWSE’);

$(‘#file_upload’).uploadify(‘settings’,‘buttonText’));

stop() 停止當前正在上傳的任務

<a href="javascript:$(‘#file_upload’).uploadify(‘upload’, ‘*’)">開始上傳</a>

<a href="javascript:$(‘#file_upload’).uploadify(‘stop’)">停止上傳</a>

upload(fileID) 立即上傳指定的檔案,如果fileID為’*‘表示上傳所有檔案,要指定上傳多個檔案,則將每個檔案的fileID作為一個參數 <a href="javascript:$(‘#file_upload’).uploadify(‘upload’,‘*’)">開始上傳所有文
 關於無法在formData擷取到值得解決辦法:在動態設定setting裡設定就可以了,還是不知道是什麼原因在直接設定檔裡擷取不到值。 另外如果將上傳檔案資訊儲存在session裡要注意遍曆的時候會有一點BUG,直接迴圈寫入資料庫會多出一組,原因暫時不明。

 

來源: <http://blog.sina.com.cn/s/blog_5079086b0101fkmh.html>

 

Uploadify 3.2 參數屬性、事件、方法函數詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.