上传模块
<div class="yayun-div" >
<form class="layui-form layui-form-pane" id="uploadExcelForm" action="" method="post" enctype="multipart/form-data" >
<div class="yayun-div" >
<input id="excelFile" type="file" name="excelFile" lay-type="file" " class="layui-upload-file" >
<!-- <button class="layui-btn" lay-submit lay-filter="uploadExcel">提交</button> -->
<!-- lay-submit定义一个触发表单提交的button,不用填写值 ;
lay-submit 事件过滤器。你可能会在很多地方看到他,他一般是用于监听特定的自定义事件。你可以把它看作是一个ID选择器 -->
</div>
</form>
</div>
js代码
layui.use([ 'form', 'upload', 'laypage', 'layer' ], function() { // 如果只加载一个模块,可以不填数组。如:layui.use('form')
var form = layui.form() // 获取form模块
, upload = layui.upload // 获取upload模块
, laypage = layui.laypage, layer = layui.layer;
upload({
url : '/upload/excel',
ext : 'xls|xlsx',
title : '请选择Excel文件',
before : function(input) {
// 返回的参数item,即为当前的input DOM对象
console.log('文件上传中');
},
success : function(res) {
layer.msg(res.msg);
}
});
//监听特定的自定义事件。你可以把它看作是一个ID选择器
form.on('submit(queryData)', function(data) {
each();
return false;
});
});
controller代码
package com.yayun.controller;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.yayun.service.ExcelService;
@RestController
@RequestMapping("/upload/excel")
public class UploadController {
@Resource
private ExcelService excelService;
@RequestMapping(method=RequestMethod.POST)
public Object uploadExcel(@RequestParam(value = "excelFile", required = true) MultipartFile excelFile){
return excelService.uploadAndDealExcel(excelFile);
}
}
涉及到layui上传模块,对应Controller应该注解为@RestController,且返回数据可通过Spring自动转换为fastjson,需要在Spring-mvc中配置message-converters。
layui点击触发事件使用form.on(‘submit(queryData)’, function(data) {});