前端:
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">编辑</div>
<div class="layui-card-body">
<script type="text/html" template lay-url="majorTemplate/majorTemplate/{{d.params.id}}" lay-done="layui.data.done(d);">
<div class="layui-form layui-sy-form" lay-filter="xy-form-addMould" style="height: 800px;margin-left: 100px;">
<div class="layui-form-item">
<label class="layui-form-label">模板代码</label>
<div class="layui-input-block">
<input class="layui-input" type="text" name="templateNo" id="templateNo" style="border: none;" value="{{d.data.templateNo}}" disabled="disabled">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">模板名称</label>
<div class="layui-input-block">
<input class="layui-input" type="text" name="templateName" id="templateName" lay-verType="tips" value="{{d.data.templateName}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">培养层次</label>
<div class="layui-input-block">
<input class="layui-input" type="text" name="subLevel" lay-verType="tips" value="{{d.data.subLevel_Text}}" readonly="readonly">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否上传</label>
<div class="layui-input-block">
<input type="radio" name="sex" lay-filter="isupload" value="1" title="是">
<input type="radio" name="sex" lay-filter="isupload" value="0" title="否" checked>
</div>
</div>
<div class="layui-form-item" id="mbwj" hidden="hidden">
<label class="layui-form-label">模版文件<font color="red">*</font></label>
<div class="layui-input-block">
<button type="button" lay-filter="savepa" class="layui-btn" id="upload"><i class="layui-icon"></i>上传模板</button>
<span id="uploadResult"></span>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">模板说明</label>
<div class="layui-input-block">
<textarea name="description" id="description" placeholder="请输入内容" class="layui-textarea">{{d.data.description}}</textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="save" id="save">保存</button>
<button class="layui-btn layui-btn-primary" lay-filter="close" id="close">关闭</button>
</div>
</div>
</div>
</script>
</div>
</div>
</div>
</div>
</div>
<script>
layui.data.done = function(d) {
layui.use(['form', 'syFormUtil', 'syCommonUtil', 'aesEncrypt', 'syTableSelectUtil', 'upload'], function() {
var $ = layui.$;
var upload = layui.upload;
var formSelects = layui.formSelects;
layui.form.render();
layui.syFormUtil('xy-form-addMould').render();
layui.upload.render({
elem: '#upload',
url: layui.setter.base_server + '/majorTemplate/majorTemplate/upload',
accept: 'file',
auto: false,
data: {},
exts: 'xml',
headers: {
access_token: layui.data('layuiAdmin').access_token
},
bindAction: '#save',
choose: function(obj) {
obj.preview(function(index, file, result) {
$("#uploadResult").html(file.name);
});
},
before: function(obj) {
files = obj.pushFile();
layer.load();
this.data.templateName = $('#templateName').val();
this.data.description = $('#description').val();
},
done: function(res) {
layer.closeAll('loading');
layer.msg("保存成功!", {}, function() {
window.location.reload();
});
}
});
$("#close").click(function() {
layui.layer.closeAll();
});
layui.form.on('submit(save)', function(obj) {
// console.log(obj);
});
layui.form.on('radio(isupload)', function(data) {
if(data.value === "1") {
$("#mbwj").show();
} else {
$("#mbwj").hide();
}
});
})
}
</script>
后端:
@ResponseBody
@RequestMapping(value = "/upload")
@AutoLog(logType = CommonConstant.LOG_TYPE_UPDATE,value = "模板导入")
public Result<String> uploadSchoolSet(@RequestParam(value="file",required = false) MultipartFile uploadFile,@RequestParam(value = "templateName") String templateName,@RequestParam(value = "description")String description) {
Result<String> result = new Result<>();
try {
String name = uploadFile.getOriginalFilename();
File file = new File(name);
Path path = Paths.get(System.getProperty("user.dir"), name );
file = path.toFile();
uploadFile.transferTo(file);
BufferedReader reader = null;
StringBuffer sbf = new StringBuffer();
if(file.getName().endsWith("xml")){
reader = new BufferedReader(new FileReader(file));
String tempStr;
while((tempStr = reader.readLine())!=null){
sbf.append(tempStr);
}
}
String str = sbf.toString();
reader.close();
file.delete();
String resu = "导入成功";
if("导入成功".equals(resu)){
result.success("导入成功!");
}else{
result.setMessage("导入失败!");
}
}catch (Exception e){
e.printStackTrace();
}
return result;
}
点击保存后调用上传方法,同时将表单的其它字段和模板一起传到后端