layui 图片上传+表单提交+ Spring MVC的实例


Posted in Javascript onSeptember 21, 2019

Layui 的上传是最常用的, 不可或缺, 记录一下代码, 以后复制都能用!!

1.前端HTML:

<div class="layui-form-item">
 <label class="layui-form-label">修改头像</label>
 <div class="layui-input-inline uploadHeadImage">
  <div class="layui-upload-drag" id="headImg">
   <i class="layui-icon">?</i>
   <p>点击上传图片,或将图片拖拽到此处</p>
  </div>
 </div>
 <div class="layui-input-inline">
  <div class="layui-upload-list">
   <img class="layui-upload-img headImage" src="http://t.cn/RCzsdCq" id="demo1">
   <p id="demoText"></p>
  </div>
 </div>
</div>

2.前端js:

<script type="text/javascript">
 layui.use(["jquery", "upload", "form", "layer", "element"], function () {
  var $ = layui.$,
   element = layui.element,
   layer = layui.layer,
   upload = layui.upload,
   form = layui.form;
  //拖拽上传
  var uploadInst = upload.render({
   elem: '#headImg'
   , url: '/upload/headImg'
   , size: 500
   , before: function (obj) {
    //预读本地文件示例,不支持ie8
    obj.preview(function (index, file, result) {
     $('#demo1').attr('src', result); //图片链接(base64)
    });
   }
   , done: function (res) {
    //如果上传失败
    if (res.code > 0) {
     return layer.msg('上传失败');
    }
    //上传成功
    //打印后台传回的地址: 把地址放入一个隐藏的input中, 和表单一起提交到后台, 此处略..
    /* console.log(res.data.src);*/
    window.parent.uploadHeadImage(res.data.src);
    var demoText = $('#demoText');
    demoText.html('<span style="color: #8f8f8f;">上传成功!!!</span>');
   }
   , 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();
    });
   }
  });
  element.init();
 });
</script>

3.页面展示:

layui 图片上传+表单提交+ Spring MVC的实例

layui 图片上传+表单提交+ Spring MVC的实例

layui 图片上传+表单提交+ Spring MVC的实例

4.后台SpringMVC 接受:

/**
 * 个人信息上传
 * @return {Result}
 */
@RequestMapping(value = "/upload/headImg", method = {RequestMethod.POST})
@ResponseBody
public Object headImg(@RequestParam(value="file",required=false) MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws Exception {
 if (SecurityUtils.getSubject().isAuthenticated() == false) {
  return "redirect:/backEnd/login";
 }
 String prefix="";
 String dateStr="";
 //保存上传
  OutputStream out = null;
 InputStream fileInput=null;
 try{
  if(file!=null){
   String originalName = file.getOriginalFilename();
   prefix=originalName.substring(originalName.lastIndexOf(".")+1);
    dateStr = format.format(new Date());
   String filepath = request.getServletContext().getRealPath("/static") + uploadDir + dateStr + "." + prefix;
   filepath = filepath.replace("\\", "/");
   File files=new File(filepath);
   //打印查看上传路径
   System.out.println(filepath);
   if(!files.getParentFile().exists()){
    files.getParentFile().mkdirs();
   }
   file.transferTo(files);
  }
 }catch (Exception e){
 }finally{
  try {
   if(out!=null){
    out.close();
   }
   if(fileInput!=null){
    fileInput.close();
   }
  } catch (IOException e) {
  }
 }
 Map<String,Object> map2=new HashMap<>();
 Map<String,Object> map=new HashMap<>();
 map.put("code",0);
 map.put("msg","");
 map.put("data",map2);
 map2.put("src","../../../static"+uploadDir + dateStr + "." + prefix);
 return map;
}

5.关于表单请求, 正常使用layui的表单上传就可以了.. 这里就不写了, 太简单了, 我其它博客有写,请去翻阅,嗯 ,就这样.......

以上这篇layui 图片上传+表单提交+ Spring MVC的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
简单的jquery左侧导航栏和页面选中效果
Aug 21 Javascript
javascript定义变量时带var与不带var的区别分析
Jan 12 Javascript
javascript实现简单的分页特效
Aug 12 Javascript
jQuery无刷新分页完整实例代码
Oct 27 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
教你用Cordova打包Vue项目的方法
Oct 17 Javascript
vue实现登录后页面跳转到之前页面
Jan 07 Javascript
详解js中let与var声明变量的区别
Apr 05 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
Jun 03 Javascript
vue+echarts实现动态折线图的方法与注意
Sep 01 Javascript
vue配置多代理服务接口地址操作
Sep 08 Javascript
layui layer select 选择被遮挡的解决方法
Sep 21 #Javascript
layui table 表格模板按钮的实例代码
Sep 21 #Javascript
js实现图片3D轮播效果
Sep 21 #Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
Sep 21 #Javascript
原生js实现3D轮播图
Mar 21 #Javascript
解决layui弹出层layer的area过大被遮挡的问题
Sep 21 #Javascript
关于layui flow loading占位图的实现方法
Sep 21 #Javascript
You might like
smtp邮件发送一例
2006/10/09 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
Python中过滤字符串列表的方法
2020/12/22 Python
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
生产部主管岗位职责
2014/01/06 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
演讲稿的写法
2014/05/19 职场文书
冬季安全检查方案
2014/05/23 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
给老婆的道歉信
2015/01/20 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript