/** * 这里保存或更新的方法,主要是为了格式化保存和修改功能传参问题,直接新建一个类来规范success和msg * 注意:这里作了关于头像上传的处理: * 1.获取到上传文件的路径,并判断该文件夹是否存在,不存在就直接建立一个 * 2.获取传入对象employee的id和fileImage的文件名 * 修改: 3.若是id不为空而且文件名不为空字符串,说明是在作修改 * 3.1.那就根据id获取出该对象的头像名,并结合父路径判断若是存在就直接删除 * 3.2.而后调用文件上传工具类进行上传 * 添加: 4.若是id为空,而且文件名部位空字符串,说明在添加用户,此时,就直接调用上传工具类进行上传,同时将新的文件名设置进新建对象中 * @param employee * @return */ public AjaxResult saveOrUpdate(Employee employee, MultipartFile fileImage, HttpServletRequest req){ try { //动态获取上传文件的路径 String parentPath = req.getServletContext().getRealPath("/upload"); //根据文件路径获取文件夹 File file = new File(parentPath); //若是这个文件夹不存在,就直接建立一个文件夹 if (!file.exists()){ file.mkdir(); } //获取传入对象id,id为null说明是添加,不为null说明是修改 Long id = employee.getId(); //获取文件名,若是文件名为null没有上传文件,不为null说明上传了文件 String filename = fileImage.getOriginalFilename(); //id不等于null,是指在修改,而filename 不等于空是指用户上传了 if (id != null && filename != "") { //这里是在获取当前对象原先的头像名 String sourceImage = employeeService.findById(employee.getId()).getHeadImage(); //这里是截取头像名和父路径拼接,而后进行删除 File file1 = new File(parentPath, sourceImage.split("/")[2]); //id不为null,而且传入的文件名也不为null,就肯定是在进行修改,就执行修改的操做 //若是这个文件存在,就直接删除,由于是修改,而且传入了新的头像 if (file1 != null) { file1.delete(); } //文件名不为再进行上传,调用上传文件工具类进行上传 String uploadName = FileUpLoad.upload(parentPath, fileImage); //而后把这个文件名设置到改对象中,而后进行保存 employee.setHeadImage("/upload"+"/"+uploadName); } //这里表示在进行新增用户,因此没有id,可是上传了文件 if (id == null && filename != ""){ //文件名不为再进行上传,调用上传文件工具类进行上传 String uploadName = FileUpLoad.upload(parentPath, fileImage); //而后把这个文件名设置到改对象中,而后进行保存 employee.setHeadImage("/upload"+"/"+uploadName); } //直接保存该对象 employeeService.save(employee); return new AjaxResult(); } catch (Exception e) { e.printStackTrace(); return new AjaxResult(false,"操做失败"+e.getMessage()); } }
js部分javascript
save: function () { //获取id为ff的form标签下面的input标签而且name=id的值 var id = $("#ff input[name='id']").val(); //默认url地址为保存 var url = "/employee/save"; console.log(1); if (id){//若是这个标签有值,说明就是作的修改,url地址又会不同 url = "/employee/update"; } console.log(url); console.log(id); console.log(2); ff.form("submit",{ type:'post', url:url, onsubmit:function () { console.log(ff.form("validate")); return ff.form("validate"); }, success:function (r) { console.log(r); if (r){ dlg.dialog("close"); dg.datagrid("load"); }else { $.messager.alert("Error", "保存失败", "error"); } } }) }
html部分html
<tr> <td>头像:</td> <td> <input name="fileImage" id="fileImage" class="easyui-filebox" ></input> </td> </tr>