Bootstrap FileInput.js + springmvc uploadFile
下载FileInput.js
????
????http://plugins.krajee.com/file-input/demo
????https://github.com/kartik-v/bootstrap-fileinput
?
页面代码
添加FileInput JS/CSS
<form enctype="multipart/form-data" id="uploadForm"> ????<div id="uploadFileDiv" hidden="true" style="width: 60%;"> ????????<input id="pdFile" name="file" type="file"> ????????<div id="fileError" class="help-block"></div> ????????<br /> ????</div> </form> |
添加JS
????$("#pdFile").fileinput({ ????????showPreview : false, ????????allowedFileExtensions : [ "zip", "bar", "bpmn", "bpmn20.xml" ], 限制文件类型 ????????elErrorContainer : "#fileError", ????????browseClass : "btn btn-success", ????????browseLabel : "查找文件", ????????browseIcon : ‘<i class="glyphicon glyphicon-search"></i>‘, ????????removeClass : "btn btn-danger", ????????removeLabel : "删除", ????????removeIcon : ‘<i class="glyphicon glyphicon-trash"></i>‘, ????????uploadClass : "btn btn-info", ????????uploadLabel : "部署", ????????uploadIcon : ‘<i class="glyphicon glyphicon-upload"></i>‘, ????}); |
?
????$("#uploadForm").submit(function(event) { ????????var formData = new FormData(this); 这里用的是this,如果是Form的话需要Form[0] ????????event.preventDefault(); 阻止当前提交事件,自行实现,否则会跳转 ????????var grid = $(‘[data-role="pdGrid"]‘); ????????$.ajax({ ????????????url : contextPath + ‘/activiti/pd/upload.koala‘, ????????????type : ‘POST‘, ????????????data : formData, ????????????contentType : false, 这两个参数需要被定义,否则报错 ????????????processData : false, ????????????success : function(data) { ????????????????if (data.result == ‘success‘) { ????????????????????grid.message({ ????????????????????????type : ‘success‘, ????????????????????????content : ‘部署成功‘ ????????????????????}); ????????????????????$("#uploadFileDiv").slideToggle("slow"); ????????????????????grid.grid(‘refresh‘); ????????????????} else { ????????????????????grid.message({ ????????????????????????type : ‘error‘, ????????????????????????content : data.result ????????????????????}); ????????????????} ????????????}, ????????????error : function() { ????????????????grid.message({ ????????????????????type : ‘error‘, ????????????????????content : ‘部署失败‘ ????????????????}); ????????????} ????????}); ????}); |
?
后台代码
????@ResponseBody ????@RequestMapping("/upload") ????public Map<String, Object> uploadFile(@RequestParam MultipartFile file) ????{ ????????Map<String, Object> dataMap = Maps.newHashMap(); ????????String fileName = file.getOriginalFilename(); ????????try ????????{ ????????????InputStream fileInputStream = file.getInputStream(); XXXXXXXXXXXXXX ????????} catch (Exception e) ????????{ ????????????dataMap.put("result", "部署流程时发生错误"); ????????????e.printStackTrace(); ????????} ????????dataMap.put("result", "success"); ????????return dataMap; ????} |
?
Spring.xml
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" /> |
?
运行效果
?
?
?
点击【部署】,实现无刷新提交form,并且刷新当前页的效果
?
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。