layui实现form表单同时提交数据和文件的代码
网络编程 2021-07-04 15:01www.168986.cn编程入门
今天长沙网络推广就为大家分享一篇layui实现form表单提交数据和文件的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
1.jsp页面
·html代码
<%--用户注册的弹出框--%> <div id="userDiv" style="display: none;"> <form class="layui-form" id="userForm" lay-filter="deptForm" enctype="mutipart/form-data"> <input type="hidden" name="id"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" >用户名</label> <div class="layui-input-inline"> <input type="text" name="name" placeholder="6~18位,请使用数字或字母" lay-verify="checkName|username|required" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label">密码</label> <div class="layui-input-inline"> <input type="password" id="password" name="password" lay-verify="required" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label">确认密码</label> <div class="layui-input-inline"> <input type="password" lay-verify="required|checkPwd" class="layui-input"> </div> </div> <%--图片上传功能--%> <div> <button type="button" name="url" class="layui-btn" id="test1">上传头像</button> <img class="layui-upload-img" id="photo" width="100" height="100"> <p id="demoText"></p> </div> <hr/> <div class="layui-form-item" id="btn"> <div class="layui-input-block"> <button id="get" lay-filter="reg" class="layui-btn btn-submit" type="button" lay-submit="">立即注册</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </div> </form> </div>
·js代码
//上传头像的方法 var uploadInst = upload.render({ elem: '#test1' /根据绑定id,打开本地图片/ ,url: '/reg' /上传后台接受接口/ ,auto: false /true为选中图片直接提交,false为不提交根据bindAction属性上的id提交/ ,bindAction: '#get' ,drag:true ,auto: false ,choose:function(obj){ //预读本地文件示例,不支持ie8 obj.preview(function(index, file, result){ $('#photo').attr('src', result); //图片链接(base64) }); } ,done: function(res){ //如果上传失败 if(res.code > 0){ return layer.msg('上传失败'); } //上传成功 } ,error: function(){ //演示失败状态,并实现重传 var demoText = $('#demoText'); demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>'); demoText.find('.demo-reload').on('click', function(){ uploadInst.upload(); }); } }); //提交表单的方法 form.on('submit(reg)', function (data) { var fd = new FormData(); var formData = new FormData($( "#userForm" )[0]); $.ajax({ cache : true, type : "post", url : "/reg", async : false, data : formData, // 你的formid contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件 processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data error : function(request) { layer.alert('操作失败', { icon: 2, title:"提示" }); }, suess : function(ret) { if (ret.suess) { layer.alert('注册成功', { icon: 2, title:"提示" }); layer.closeAll(); window.location.href="/login" rel="external nofollow" ; } else { layer.alert(ret.msg, { icon: 2, title:"提示" }); } } }) });
2.后台处理
@ResponseBody @RequestMapping ("/reg") public JsonResult save(MultipartFile file, User user, HttpServletRequest request){ try { String path = request.getSession().getServletContext().getRealPath("upload"); String pathPhoto = "/upload"; if(!file.isEmpty()){ String name = file.getOriginalFilename();//获取接受到的图片名称 String newFileName = UUID.randomUUID().toString().substring(0,5)+"."+ FilenameUtils.getExtension(name); File fi = new File(path,newFileName); //将path路径与图片名称联系在一起 if(!fi.getParentFile().exists()){ //判断是否存在path路径下的文件夹 fi.getParentFile().mkdirs(); //不存在创建path路径下的文件夹 } file.transferTo(fi); //上传图片 user.setImgurl(pathPhoto+"/"+newFileName); //为保存图片路径 } if(!StringUtil.isEmpty(user.getName()) && !StringUtil.isEmpty(user.getPassword())){ userService.save(user); } } catch (Exception e) { e.printStackTrace(); return new JsonResult(false,e.getMessage()); } return new JsonResult(); }
以上这篇layui实现form表单提交数据和文件的代码就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
上一篇:详解如何在Vue项目中发送jsonp请求
下一篇:vue实现弹幕功能
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南