廢話不多說,直接上代碼
js:
layui.use('upload', function(){ var $ = layui.jquery,upload = layui.upload; //綁定原始文件域 upload.render({ elem: '#test20' ,url: "<c:url value='/order/imgUpload.do?proVal=IMG_PATH'/>" ,auto: true ,accept: 'file' ,exts:"jpg|png|gif|jpeg|bmp" ,size:1024 ,before: function(obj){ var orderID = $("#orderID").val(); this.data={"orderID":orderID}//攜帶動態參數 } ,done: function(res){ if(res.msg=='ok'){ alert('上傳成功'); }else{ alert(res.msg); } } }); });
java:
上傳文件的代碼我沒寫,主要寫了怎么取這個動態參數的值
@ResponseBody
@RequestMapping("/imgUpload") public JsonResult imgUpload( HttpServletRequest request,HttpServletResponse response,ModelMap map ){ JsonResult json = new JsonResult(); Integer orderID = null;//訂單ID DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(10240000); try { ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("utf-8"); @SuppressWarnings("rawtypes") List fileList = null; try { fileList = upload.parseRequest(request); } catch (FileUploadException ex) { return null; } @SuppressWarnings("unchecked") Iterator<FileItem> it = fileList.iterator(); //取參數 while (it.hasNext()) { FileItem item = it.next(); if(item.isFormField()&&"orderID".equals(item.getFieldName())){ orderID = Integer.valueOf(item.getString()); } }
if(orderID==null){ json.setMsg("參數有誤,請刷新重試!"); return json; } } catch (Exception e) { e.printStackTrace(); json.setMsg("上傳失敗"); }finally{ factory = null; } return json; }