form表单中带有文件上传,同时提交

前台JS(easyUI)

function EditsubmitForm() { 
    var father = $('#select_category').combobox('getValue');
    $('#knowledgeAddForm').form('submit', { 
       url: "${path }/knowledgeAdd/addPageKnowledgeAdd?fatherId="+father, 
       onSubmit: function () {        //表单提交前的回调函数 
              var isValid = $(this).form('validate');//验证表单中的一些控件的值是否填写正确,比如某些文本框中的内容必须是数字 
              return isValid; // 如果验证不通过,返回false终止表单提交 
       }, 
       success: function () {  //表单提交成功后的回调函数,里面参数data是我们调用/BasicClass/ModifyClassInfo方法的返回值。 
               parent.$.messager.alert("添加成功","知识库添加成功!",'info');
               location.reload();
            } 
          });       
    }

前台表单

<form enctype="multipart/form-data" id="knowledgeAddForm" method="post" >
   <table class="grid">
      <tr>
            <td>内容</td>
            <td>
                  <textarea name="content" class="easyui-validatebox" data-options="required:true" value="${Knowledge.content}"></textarea>
            </td>
        </tr>
         <tr>
              <td>上传</td>
              <td>
                     <input id ="file" type="file" name="file" size="10">
              </td>
         </tr>
   </table>
       <div style="margin-top: 10px;"> 
            <a class="easyui-linkbutton" data-options="iconCls:'icon-ok'" style="margin-left: 0px;" onclick="EditsubmitForm()">确定</a> 
            <!-- <a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" style="margin-left: 60px;" onclick="EditclearForm()">取消</a>  -->
      </div>
</form>

后台controller层

@RequestMapping(value = "/knowledgeAddPage", method = RequestMethod.GET)
        public String addPage() {
            return "/knowledge/knowledgeAdd";
        }
        @RequestMapping(value = "/addPageKnowledgeAdd")
        public String addKnowledge(@RequestParam(value = "file") MultipartFile file,Knowledge knowledge,Long fatherId,HttpServletRequest req) throws IOException {
            String domain = req.getSession().getAttribute("domain").toString();
            String userName = req.getSession().getAttribute("username").toString();
            String fileName = file.getOriginalFilename();
            if(fileName==""){
                knowledge.setDomain(domain);//域名
                knowledge.setUserName(userName);//当前用户名
                knowledge.setFatherId(fatherId);//关联ID
                knowledgeAddService.addKnowledge(knowledge);
            }else{
                String suffix = fileName.substring(fileName.lastIndexOf(".") + 0);
                Date d2 = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                String dateNumber = sdf.format(d2);
                String attachment = "D://"+dateNumber+suffix;
                File desc = MakeFileUtil.makefile(attachment);
                knowledge.setDomain(domain);
                knowledge.setUserName(userName);
                knowledge.setFileName(fileName);//文件名
                
                knowledge.setAttachment(attachment);//文件路径
                knowledge.setFatherId(fatherId);
                knowledgeAddService.addKnowledge(knowledge);
                
                file.transferTo(desc);//上传
                
            }
            return "/knowledge/knowledgeAdd";
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function...
    WwKk_13c2阅读 3,527评论 0 8
  • 上传图片我首先想到的是利用这个插件,webupload LUploade这类插件大多支持图片预览,断点/分片上传,...
    六寸星田阅读 51,238评论 0 1
  • 昨天晚上跟李老师去下罗接来考试的同学,下雨天又是晚上,找人其实是件挺费劲的事,兜兜转转最后是顺利找到了。言语中我...
    谢老大_ba3e阅读 156评论 0 0
  • 夜入梦,我自己怎么走着走着就走到了这里,走到一个泥潭的中间,还好从四面八方拉扯着自己身体的绳子保证让我稳稳地...
    Joker吉阅读 416评论 1 3
  • 因为电影归来,我第一次看了严歌苓的书,陆犯焉识,那本书里充满对旧社会旧制度隐晦的抨击和戏谑,所以我以为倒淌河也会是...
    小猫爱吃菜阅读 665评论 0 2