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