最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

layui實(shí)現(xiàn)form表單同時(shí)提交數(shù)據(jù)和文件的代碼

 更新時(shí)間:2019年10月25日 15:23:22   作者:好夢(mèng)留人睡  
今天小編就為大家分享一篇layui實(shí)現(xiàn)form表單同時(shí)提交數(shù)據(jù)和文件的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1.jsp頁(yè)面

·html代碼

<%--用戶注冊(cè)的彈出框--%>
<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位,請(qǐng)使用數(shù)字或字母" 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">確認(rèn)密碼</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="">立即注冊(cè)</button>
     <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
   </div>
  </div>
 </form>
</div>

·js代碼

//上傳頭像的方法
  var uploadInst = upload.render({
   elem: '#test1'  /*根據(jù)綁定id,打開本地圖片*/
   ,url: '/reg' /*上傳后臺(tái)接受接口*/
   ,auto: false  /*true為選中圖片直接提交,false為不提交根據(jù)bindAction屬性上的id提交*/
   ,bindAction: '#get'
   ,drag:true
   ,auto: false
   ,choose:function(obj){
    //預(yù)讀本地文件示例,不支持ie8
    obj.preview(function(index, file, result){
     $('#photo').attr('src', result); //圖片鏈接(base64)
    });
   }
   ,done: function(res){
    //如果上傳失敗
    if(res.code > 0){
     return layer.msg('上傳失敗');
    }
    //上傳成功
   }
   ,error: function(){
    //演示失敗狀態(tài),并實(shí)現(xiàn)重傳
    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 設(shè)置為 false 是為了避免 JQuery 對(duì)其操作,從而失去分界符,而使服務(wù)器不能正常解析文件
    processData: false, //當(dāng)設(shè)置為true的時(shí)候,jquery ajax 提交的時(shí)候不會(huì)序列化 data,而是直接使用data
    error : function(request) {
     layer.alert('操作失敗', {
      icon: 2,
      title:"提示"
     });
    },
    success : function(ret) {
     if (ret.success) {
      layer.alert('注冊(cè)成功', {
       icon: 2,
       title:"提示"
      });
      layer.closeAll();
      window.location.href="/login" rel="external nofollow" ;
     } else {
      layer.alert(ret.msg, {
       icon: 2,
       title:"提示"
      });
     }
    }
    })
  });

2.后臺(tái)處理

@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路徑與圖片名稱聯(lián)系在一起
    if(!fi.getParentFile().exists()){ //判斷是否存在path路徑下的文件夾
     fi.getParentFile().mkdirs();  //不存在創(chuàng)建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實(shí)現(xiàn)form表單同時(shí)提交數(shù)據(jù)和文件的代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript逆向分析instagram登入過程

    JavaScript逆向分析instagram登入過程

    這篇文章主要介紹了JavaScript逆向分析instagram登入過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 前端頁(yè)面適配之postcss-px-to-viewport實(shí)現(xiàn)步驟

    前端頁(yè)面適配之postcss-px-to-viewport實(shí)現(xiàn)步驟

    postcss-px-to-viewport是一個(gè)PostCSS插件,它可以將px單位轉(zhuǎn)換為視口單位(vw、vh?或?vmin),這篇文章主要給大家介紹了關(guān)于前端頁(yè)面適配之postcss-px-to-viewport的實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2024-03-03
  • js實(shí)現(xiàn)web留言板功能

    js實(shí)現(xiàn)web留言板功能

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)web留言板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • JavaScript處理數(shù)組數(shù)據(jù)的示例詳解

    JavaScript處理數(shù)組數(shù)據(jù)的示例詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何處理數(shù)組數(shù)據(jù),包括數(shù)據(jù)匹配和剔除,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-10-10
  • JS實(shí)現(xiàn)可以用鍵盤方向鍵控制的動(dòng)畫

    JS實(shí)現(xiàn)可以用鍵盤方向鍵控制的動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)可以用鍵盤方向鍵控制的動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • javascript鍵盤事件全面控制腳本代碼

    javascript鍵盤事件全面控制腳本代碼

    可以根據(jù)按的鍵盤上的鍵,顯示鍵盤動(dòng)作,并顯示keyCode值等
    2008-06-06
  • 對(duì)字符串進(jìn)行HTML編碼和解碼的JavaScript函數(shù)

    對(duì)字符串進(jìn)行HTML編碼和解碼的JavaScript函數(shù)

    對(duì)字符串進(jìn)行HTML編碼和解碼的JS函數(shù),記下了方便以后找 :)
    2010-02-02
  • js實(shí)現(xiàn)div彈出層的方法

    js實(shí)現(xiàn)div彈出層的方法

    這篇文章主要介紹了js實(shí)現(xiàn)div彈出層的方法,以實(shí)例的形式完整的實(shí)現(xiàn)了js彈出div層的效果,并且彈出層可拖拽、可關(guān)閉,用戶還可根據(jù)個(gè)人喜好自定義彈出層的顯示效果,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • 微信小程序設(shè)置滾動(dòng)條過程詳解

    微信小程序設(shè)置滾動(dòng)條過程詳解

    這篇文章主要介紹了微信小程序設(shè)置滾動(dòng)條過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • JavaScript獲取FCK編輯器信息的具體方法

    JavaScript獲取FCK編輯器信息的具體方法

    這篇文章介紹了JavaScript獲取FCK編輯器信息的實(shí)例代碼,有需要的朋友可以參考一下
    2013-07-07

最新評(píng)論

岑溪市| 顺平县| 陵川县| 衢州市| 开平市| 万盛区| 五峰| 庆城县| 和硕县| 三都| 谢通门县| 三亚市| 胶南市| 和林格尔县| 佛山市| 遵化市| 滕州市| 公主岭市| 怀柔区| 宽城| 澄迈县| 清水河县| 仙桃市| 张家口市| 临朐县| 化隆| 沾化县| 贵州省| 丰原市| 鹿邑县| 霍城县| 奉贤区| 池州市| 西乡县| 探索| 玉田县| 万荣县| 辉县市| 赤壁市| 乐山市| 岳阳市|