/*set handlers here*/ var swfuploadhandler={ init:function(settings,index){ settings=$.extend(true,{},swfuploadefaults,settings); swfuploadhandler["SWFUPLOAD_"+settings.custom_settings.form.attr("id")+"_"+index]=new SWFUpload(settings); }, swfUploadLoaded:function(){ }, uploadStart:function(){ //this.customSettings.form.find(".fsUploadProgress").show(); }, uploadDone:function(){ //this.customSettings.form.find(".fsUploadProgress").hide(); this.customSettings.showmsg("已成功上传文件!",2); //this.customSettings.form.submit(); }, fileDialogStart:function(){ this.customSettings.form.find("input[plugin='swfupload']").val(""); this.cancelUpload(); }, fileQueueError:function(file, errorCode, message){ try { // Handle this error separately because we don't want to create a FileProgress element for it. switch (errorCode) { case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED: this.customSettings.showmsg("You have attempted to queue too many files.\n" + (message === 0 ? "You have reached the upload limit." : "You may select " + (message > 1 ? "up to " + message + " files." : "one file.")),3); return; case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: this.customSettings.showmsg("The file you selected is too big.",3); this.debug("Error Code: File too big, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); return; case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: this.customSettings.showmsg("The file you selected is empty. Please select another file.",3); this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); return; case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: this.customSettings.showmsg("The file you choose is not an allowed file type.",3); this.debug("Error Code: Invalid File Type, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); return; default: swfu.customSettings.showmsg("An error occurred in the upload. Try again later.",3); this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message); return; } } catch (e) {} }, fileQueued:function(file){ try { this.customSettings.form.find("input[plugin='swfupload']").val(file.name); } catch (e) {} }, fileDialogComplete:function(numFilesSelected, numFilesQueued){ this.startUpload(); }, uploadProgress:function(file, bytesLoaded, bytesTotal){ try { var percent = Math.ceil((bytesLoaded / bytesTotal) * 100); this.customSettings.showmsg("已上传:"+percent+"%",1); //this.customSettings.form.find(".fsUploadProgress").text("已上传:"+percent+"%"); } catch (e) {} }, uploadSuccess:function(file, serverData){ try { if (serverData === " ") { this.customSettings.upload_successful = false; } else { this.customSettings.upload_successful = true; this.customSettings.form.find("input[pluginhidden='swfupload']").val(serverData); } } catch (e) {} }, uploadComplete:function(file){ try { if (this.customSettings.upload_successful) { //this.setButtonDisabled(true); swfuploadhandler.uploadDone.call(this); } else { this.customSettings.form.find("input[plugin='swfupload']").val(""); this.customSettings.showmsg("There was a problem with the upload.\nThe server did not accept it.",3); } } catch (e) {} }, uploadError:function(file, errorCode, message){ try { if (errorCode === SWFUpload.UPLOAD_ERROR.FILE_CANCELLED) { // Don't show cancelled error boxes return; } this.customSettings.form.find("input[plugin='swfupload']").val(""); // Handle this error separately because we don't want to create a FileProgress element for it. switch (errorCode) { case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL: this.customSettings.showmsg("There was a configuration error. You will not be able to upload a resume at this time.",3); this.debug("Error Code: No backend file, File name: " + file.name + ", Message: " + message); return; case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED: this.customSettings.showmsg("You may only upload 1 file.",3); this.debug("Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); return; case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED: case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED: break; default: this.customSettings.showmsg("An error occurred in the upload. Try again later.",3); this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message); return; } } catch (ex) {} } } var swfuploadefaults={ file_size_limit : "10 MB", file_types : "*.*", file_types_description : "All Files", file_upload_limit : "0", file_queue_limit : "10", button_placeholder_id : "spanButtonPlaceholder", file_post_name: "resume_file", upload_url: "demo/plugin/swfupload/upload.php", button_image_url: "demo/plugin/swfupload/XPButtonUploadText_61x22.png", button_width: 61, button_height: 22, flash_url: "demo/plugin/swfupload/swfupload.swf", swfupload_loaded_handler : swfuploadhandler.swfUploadLoaded, file_dialog_start_handler: swfuploadhandler.fileDialogStart, file_queued_handler : swfuploadhandler.fileQueued, file_queue_error_handler : swfuploadhandler.fileQueueError, file_dialog_complete_handler : swfuploadhandler.fileDialogComplete, upload_start_handler : swfuploadhandler.uploadStart, upload_progress_handler : swfuploadhandler.uploadProgress, upload_error_handler : swfuploadhandler.uploadError, upload_success_handler : swfuploadhandler.uploadSuccess, upload_complete_handler : swfuploadhandler.uploadComplete, custom_settings:{}, debug: false } //$(function(){ //独立触发事件; //var custom={ // custom_settings:{ // form:$this, // showmsg:function(msg){ // alert(msg); // } // } //} //swfuploadhandler.init(custom); //})