SWFUpload是一個flash和js相結合而成的檔案上傳外掛程式
SWFUpload的特點
1、用flash進行上傳,頁面無重新整理,且可自訂Flash按鈕的樣式;
2、可以在瀏覽器端就對要上傳的檔案進行限制;
3、允許一次上傳多個檔案,但會有一個上傳隊列,隊列裡檔案的上傳是逐個進行的,伺服器端接收檔案時跟普通的表單上傳檔案是一樣的;
4、提供了豐富的事件介面供開發人員使用;
SWFUpload的檔案上傳流程:
1、引入相應的js檔案
2、執行個體化SWFUpload對象,傳入一個配置參數對象進行各方面的配置。
3、點擊SWFUpload提供的Flash按鈕,彈出檔案選取視窗選擇要上傳的檔案;
4、檔案選取完成後符合規定的檔案會被添加到上傳的隊列裡;
5、調用startUpload方法讓隊列裡檔案開始上傳;
6、檔案上傳過程中會觸發相應的事件,開發人員利用這些事件來更新ui、處理錯誤、發出提示等等;
下面的代碼是採用flash+ajax方式上傳檔案,代碼如下
var swfu; window.onload = function() { var settings = { flash_url : "js/swfupload_f9.swf", //flash地址 upload_url: "upload.php", //上傳檔案處理地址 post_params: {"PHPSESSID" : "“}, file_size_limit : “1000″, //大小限制 預設單位為kb file_types : “*.jpg;*.gif;*.png;*.swf”,//檔案類型 file_types_description : “Web Image Files”,//檔案類型描述 file_upload_limit : 100,//上傳檔案限制 file_queue_limit : 0, custom_settings : { progressTarget : “fsUploadProgress”, cancelButtonId : “btnCancel” }, debug: false, file_queued_handler : fileQueued, file_queue_error_handler : fileQueueError, file_dialog_complete_handler : fileDialogComplete, upload_start_handler : uploadStart, upload_progress_handler : uploadProgress, upload_error_handler : uploadError, upload_success_handler : uploadSuccess, upload_complete_handler : uploadComplete, queue_complete_handler : queueComplete }; swfu = new SWFUpload(settings); };