WSF插件
$.fn.swfupload={files:[],/*** 提交*/submit:function(domId){for(var i=0;i<this.files.length;i++){if(this.files[i].fileId==domId){this.files[i].fileObj.startUpload();}}},destroy:function(domId){for(var i=0;i<this.files.length;i++){if(this.files[i].fileId==domId){//移除this.files[i].fileObj.destroy();this.files.remove(i);}}},/*** 支持一個頁面存在多個上傳異步上傳 (每個控件只能選擇一個文件,類似file標簽)* * domId 編號* txtCss 文本* uploadUrl 上傳地址 * params 參數(shù)* fileTypes* flashUrl * success 上傳成功之后的function* error 上傳失敗之后的function*/init:function(setting){$("#"+setting.txtId).attr("readonly","readonly");$("#"+setting.txtId).css(setting.txtCss);this.files.push({});var fileItems = this.files[this.files.length-1];fileItems.items = [];fileItems["fileId"] = setting.domId;fileItems["fileObj"]= new SWFUpload({upload_url: setting.uploadUrl,post_params: {},file_post_name:$("#"+setting.domId).attr("name"),// File Upload Settingsfile_size_limit : "3600 MB", // 100MB 文件上傳大小,(這里不管用)file_types :setting.fileTypes, //限制上傳文件類型 ”*.jpg;*.jpeg;*.gif;*.png;*.bmp;”file_types_description : "", //文件類型描述file_upload_limit : 2,//允許同時上傳文件的個數(shù)file_queue_limit : 2, //允許隊列存在的文件數(shù)量,默認值為0,即不限制prevent_swf_caching:true,// Event Handler Settings (all my handlers are in the Handler.js file)swfupload_preload_handler : function(){alert("falsh版本過低!");}, swfupload_load_failed_handler : function(){alert("加載文件失敗!");},file_dialog_start_handler : function(){//文件選擇對話框顯示之前觸發(fā)。只能同時存在一個文件對話框。},file_queued_handler : function(file){var items =fileItems.items;for(var i =0;i<items.length;i++){this.cancelUpload(items[i].id,false);}fileItems.items=[];fileItems.items.push({id:file.id,name:file.name});$("#"+setting.txtId).val(" "+file.name);//當文件選擇對話框關閉消失時,如果選擇的文件成功加入上傳隊列,那么針對每個成功加入的文件都會觸發(fā)一次該事件(N個文件成功加入隊列,就觸發(fā)N次此事件)。},file_queue_error_handler : function(file,errorCode,message){//當選擇文件對話框關閉消失時,如果選擇的文件加入到上傳隊列中失敗,那么針對每個出錯的文件都會觸發(fā)一次該事件if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {alert("您添加的文件數(shù)量太多了。\n" + (message === 0 ? "您已達到上傳限制。" : "您上傳 " + (message > 1 ? "不能超過 " + message + " 個文件。" : "一個文件。")));return;}}, file_dialog_complete_handler : function(number,q,sum){//設置swf監(jiān)聽fileDialogComplete 事件 選擇好上傳的文件就自動開始上傳}, upload_start_handler : function(){//在文件往服務端上傳之前觸發(fā)此事件,可以在這里完成上傳前的最后驗證以及其他你需要的操作}, upload_progress_handler : setting.uploadProgress,upload_error_handler : setting.error,upload_success_handler : setting.success,upload_complete_handler : function(){//上傳完成,無論上傳過程中出錯還是上傳成功,都會觸發(fā)該事件,并且在那兩個事件后被觸發(fā)},button_image_url : setting.buttonImageUrl,button_placeholder_id : setting.domId,//上傳按鈕占位符的idbutton_width: 72, //按鈕寬度button_height: 28,//按鈕高度flash_url : setting.flashUrl,debug:false //debug模式,可以在頁面看到詳細信息debug:false, //debug模式,可以在頁面看到詳細信息});}};function checkLName(){var filepath=document.getElementById("excel_txt").value;filepath=filepath.substring(filepath.lastIndexOf('.')+1,filepath.length);if(filepath != 'xls' && filepath != 'xlsx'){art.dialog({title:"操作提示",okValue: "確定",opacity: 0.1, icon:"warning",lock:true,content:"只能上傳Excel文件!",ok: function () {return true;}}); return false;}$("<div class='datagrid-mask'></div>").css({ display: "block", width: "100%", height: $(window).height() }).appendTo("body");$("<div class='datagrid-mask-msg'></div>").html("").appendTo("body").css({ display: "block", left: ($(document.body).outerWidth(true) - 190) / 2, top: ($(window).height() - 45) / 2 });$.fn.swfupload.submit("excel_file");return true;}$(document).ready(function() {/*** domId 編號* txtId 文本ID* uploadUrl 上傳地址 * params 參數(shù)* fileTypes 文件類型* flashUrl flash地址*/(function init(){$.fn.swfupload.init({domId:"excel_file",txtId:"excel_txt",uploadId:"excel_button",txtCss:{border:"1px solid #1ca3ba",width:"200px",height:"24px",backgroundColor:"#dfdfdf",color:"#555",font:"10px",outline:"medium",marginLeft:"0px",background:"white"},uploadUrl:"${base}/info/police.do?batchimport",params:{},fileTypes:"*.xls;*.xlsx;",flashUrl:"${base}/js_css_image/js/swfupload/swfupload.swf",buttonImageUrl:"${base}/js_css_image/js/swfupload/images/swfupload.jpg",success:function(file, result){eval("var result = "+result);$(".datagrid-mask,.datagrid-mask-msg").remove(); $.fn.swfupload.destroy("excel_file");var msg =result.msg;if(result.code==200){window.parent.window.artDialog.succeed(msg,function(){ });var api = frameElement.api;api.close();}else{var msgs = msg.split(";");for(var i=0;i<msgs.length;i++){$("#errorMsg").append("<p>"+msgs[i]+"</p>");}init();}},error:function(file, result){$(".datagrid-mask,.datagrid-mask-msg").remove();eval("var result = "+result);$.fn.swfupload.destroy("excel_file");var msg =result.msg;for(var i=0;i<msgs.length;i++){$("#errorMsg").append("<p>"+msgs[i]+"</p>");}init();},uploadProgress:function(file, bytesLoaded, bytesTotal){try {var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);//上傳進度的百分比%if(percent!=0&&percent!=100){$(".datagrid-mask-msg").html("已經(jīng)上傳"+percent+"%,請稍等....");}} catch (ex) {this.debug(ex);}}});})();});
總結
- 上一篇: 鱼骨图介绍及制作
- 下一篇: SRM系统能为企业带来什么好处,企业该怎