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 相关文章推荐
图片完美缩放
Sep 07 Javascript
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 Javascript
Javascript 强制类型转换函数
May 17 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 Javascript
javascript拓展DOM操作 prependChild insertAfert
Nov 17 Javascript
JavaScript var声明变量背后的原理示例解析
Oct 12 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
JQuery替换DOM节点的方法
Jun 11 Javascript
纯js实现手风琴效果
Apr 17 Javascript
学习AngularJs:Directive指令用法(完整版)
Apr 26 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 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令牌 Token改进版
2008/07/18 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
php flv视频时间获取函数
2010/06/29 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
PHP设置进度条的方法
2015/07/08 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
js 实现浏览历史记录示例
2014/04/20 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
Python合并字符串的3种方法
2015/05/21 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
女大学生自我鉴定
2013/12/09 职场文书
农村门前三包责任书
2014/07/25 职场文书
会员活动策划方案
2014/08/19 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
财务整改报告范文
2014/11/05 职场文书
2014年图书室工作总结
2014/12/09 职场文书
租车协议书
2015/01/27 职场文书
创卫工作总结2015
2015/04/22 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
用Python可视化新冠疫情数据
2022/01/18 Python
青岛市的收音机研制与生产
2022/04/07 无线电
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技