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 相关文章推荐
js判断生效时间不得大于失效时间的思路及代码
Apr 23 Javascript
javascript实现焦点滚动图效果 具体方法
Jun 24 Javascript
jquery对元素拖动排序示例
Jan 16 Javascript
window.open()详解及浏览器兼容性问题示例探讨
May 29 Javascript
关于JavaScript命名空间的一些心得
Jun 07 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
Jq通过td获取同行其它列td的方法
Oct 05 Javascript
jQuery中ajax错误调试分析
Dec 01 Javascript
利用Decorator如何控制Koa路由详解
Jun 26 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
Sep 27 Javascript
微信小程序实现保存图片到相册功能
Nov 30 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 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
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
JavaScript之自定义类型
2012/05/04 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
js微信支付实现代码
2016/12/22 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
Python GAE、Django导出Excel的方法
2008/11/24 Python
Python中的日期时间处理详解
2016/11/17 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
Python实现的txt文件去重功能示例
2018/07/07 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
用python批量下载apk
2020/12/29 Python
Java基础面试题
2014/07/19 面试题
班主任新年寄语
2014/04/04 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
会计岗位职责范本
2015/04/02 职场文书
教师读书笔记
2015/06/29 职场文书
八年级数学教学反思
2016/02/17 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书