| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- /*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);
- //})
|