废话不多说,直接上代码

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; }