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 参数
			*	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 Settings
					file_size_limit : "3600 MB",	// 100MB  文件上传大小,(这里不管用)
					file_types :setting.fileTypes,  //限制上传文件类型   ”*.jpg;*.jpeg;*.gif;*.png;*.bmp;”
					file_types_description : "",  //文件类型描述
					file_upload_limit : 2,//允许同时上传文件的个数
					file_queue_limit : 2,  //允许队列存在的文件数量,默认值为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(){
						//文件选择对话框显示之前触发。只能同时存在一个文件对话框。
					},
					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);
						//当文件选择对话框关闭消失时,如果选择的文件成功加入上传队列,那么针对每个成功加入的文件都会触发一次该事件(N个文件成功加入队列,就触发N次此事件)。
					},
					file_queue_error_handler : function(file,errorCode,message){
						//当选择文件对话框关闭消失时,如果选择的文件加入到上传队列中失败,那么针对每个出错的文件都会触发一次该事件
						if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
							alert("您添加的文件数量太多了。\n" + (message === 0 ? "您已达到上传限制。" : "您上传 " + (message > 1 ? "不能超过 " + message + " 个文件。" : "一个文件。")));
							return;
						}
					}, 
					file_dialog_complete_handler : function(number,q,sum){
						//设置swf监听fileDialogComplete 事件  选择好上传的文件就自动开始上传
					},  
					upload_start_handler : function(){
						//在文件往服务端上传之前触发此事件,可以在这里完成上传前的最后验证以及其他你需要的操作
					}, 
					upload_progress_handler : setting.uploadProgress,
					upload_error_handler : setting.error,
					upload_success_handler : setting.success,
					upload_complete_handler : function(){
						//上传完成,无论上传过程中出错还是上传成功,都会触发该事件,并且在那两个事件后被触发
					},
					button_image_url : setting.buttonImageUrl,
					button_placeholder_id : setting.domId,//上传按钮占位符的id
					button_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 参数
		*	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("已经上传"+percent+"%,请稍等....");
						}
					} catch (ex) {
						this.debug(ex);
					}
				}
			});
		})();
	});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值