from表單同時存在檔案和資料用fromdate非同步上傳
阿新 • • 發佈:2018-12-07
前端程式碼 from表單id自定義我這定義的uploadfrom前端的from表單我就不貼出來了
var formData = new FormData(document.getElementById("uplodfrom")); $.ajax({ url: '${pageContext.request.contextPath }/123', type: 'POST', data: formData, async: true, cache: false, contentType: false, processData: false, success: function (returndata) { $("#"+returndata.type).append('<div id="'+returndata.id+'"><img src="${pageContext.request.contextPath }/'+returndata.path+'">'+ '<button class="layui-btn layui-btn-xs layui-btn-danger" onclick="deleteimg(\''+returndata.id+'\')">刪除圖片</button></div>'); parent.layer.msg(returndata.msg); } });
後端程式碼其中我用了一個檔案上傳的工具類,可在我以前部落格中查詢
public Object updateCheckattr(String checkid,String type,HttpServletRequest request){ String dirname="upload_store_check/"; Map<String,Object> mapjson=new HashMap<>(); if(type==null||type==""){ mapjson.put("msg","附件型別不能為空"); } List<Map<String, String>>imgList=imgUploadUntil.lkh_uploadFile(request, dirname); NtpdCheckAtt att=new NtpdCheckAtt(); for (Map<String, String> map : imgList) { String attid=UUID.randomUUID().toString().replace("-",""); att.setId(attid); att.setAtt_path(map.get("fileurl")); att.setStore_check_id(checkid); att.setAtt_type(type); this.ntpdCheckService.addNtpdAttr(att); mapjson.put("path", map.get("fileurl")); mapjson.put("type", type); mapjson.put("id",attid); mapjson.put("msg","上傳成功"); } return mapjson;