欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用layui.upload上传文件与使用layer.open方式上传文件

程序员文章站 2022-04-08 09:27:34
...

使用layui.upload上传文件与使用layer.open方式上传文件。上传文件的方式有很多种,这里简单介绍以下两种方式。
第一种:layui.upload上传文件

layui.use(['layer','upload'], function () {
var upload = layui.upload;
        //指定允许上传的文件类型
        upload.render({
            elem: '#uploadExcel'//绑定导入按钮
            ,url: '/api/upload/file_excel' //上传请求接口地址
            ,accept: 'file' //普通文件
            ,exts: 'xls|excel|xlsx' //配置上传格式
            ,done: function(res){
                console.log(res)
                layer.msg(res.message);
            }
        });
    });

第二种:使用layer.open上传文件
1.绑定导出事件

function custexcelimport(){
	layer.open({
		   title: '导入数据',
		   type: 2,
		   offset: 'auto',
		   skin: 'layui-layer-demo', //样式类名
		   closeBtn: 1, //不显示关闭按钮
		   anim: 3, //弹出层样式
		   shadeClose: false, //开启遮罩关闭
		   area: ['340px', '200px'],
			content:'../mx/importbusinessbill.jsp',
		    end: function () {
		    	var handle_status = $("#handle_status").val();
		    	 var handle_data = $("#handle_data").val();
		    	 handle_data = JSON.parse(handle_data);
		    	 if ( handle_status == '0' ) {
		    		  layer.confirm(handle_data.msg, {btn: ['确定']}, 
				                function(index) {
				                	 if(index){
				                		 layer.close(index);
				                		 location.reload();
				                	 }
				                });
		    	 }else if(handle_status == '1'){
		    		 location.reload();
		    	 }
		    }
		  });
}

2.导入按钮与返回绑定数据的标签

<div id="mywin"></div>
<input id="handle_data" value="" hidden="hidden">
<input id="handle_status" value="" hidden="hidden">
<button type="button"  class="layui-btn layui-btn-sm layui-btn-normal" onclick="custexcelimport()">导入</button>

3.导入弹出页

<script type="text/javascript">
	function submitConfirm(){
	var index = parent.layer.getFrameIndex(window.name);
		if($('#uploadfile').val()==''){
		$.messager.alert('错误','请选择要上传的Excel文件','error');
			return;
		}
		if (!$('#uploadfile').val().toLowerCase().endWith('.xls')) {
		$.messager.alert('错误','文件类型不是xls文件','error');
		return;
		}
 		$.messager.confirm('信息', "确定导入?", function(r) {
 			if (r) {
			$.messager.progress();
				$('#myform').ajaxSubmit({
				 	url:"../importExcel.action",
				 	type: "post",
					success : function(data) {
						data = JSON.parse(data);
						$.messager.progress('close');
						parent.layer.close(index);
						if(data.success == false){
							data = JSON.stringify(data);
							parent.$("#handle_status").val("0");
							parent.$("#handle_data").val(data);
							parent.layer.close(index);
						}else{
							data = JSON.stringify(data);
							parent.$("#handle_status").val("1");
							parent.$("#handle_data").val(data);
							parent.layer.close(index);
						} 
					}
				});
 			}
 		});
	}
	
	function closetab() {
    	parent.$('#mywin').window('close');
    }
</script>
<style type="text/css">
.datagrid-btable .datagrid-cell{padding:6px 4px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;}  
.ctable {
	margin: 0 auto;
	padding: 0;
}
</style>
</head>
<body>
<div class="easyui-layout" data-options="fit:true">
<div data-options="region:'center',border:false" style="padding:10px;">

<form name="myform" id="myform" method="post" enctype="multipart/form-data">
<div style="width: 100%; height: 100px;">
	<table class="ctable" cellpadding="0" cellspacing="0" width="80%" border="0">
		<tr style="font-size: 13px">
			<td>
			<p>
			请选择要上传的Excel文件,xls格式:<!-- <a href="../download/businessbillcust.xls">参考模版下载</a> --><br>
			<br>
			<input type="file" id="uploadfile" name="uploadfile" class="textbox">
			</p>
			</td>
		</tr>
	</table>
</div>
</form>
</div>
<div data-options="region:'south',border:false" style="text-align:right;padding:5px 0 0;margin-bottom:10px;">
	<center>
	<a id="Submitbtn" name="Submitbtn" style="width: 100px;height: 25px" class="easyui-linkbutton c6" onclick="submitConfirm()">导入</a>
	</center>
</div>
</div>
</body>
相关标签: JS