@RequestMapping(value = "/add", produces = "text/plain;charset=UTF-8")
public ModelAndView AddBrands(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelMap map = new ModelMap();
try {
//表单元素名
String[] formElements = { "bName", "bRemark" };
//获取表单元素
Map<String, Object> elementsValues = FileUpload.getFormElements(request, formElements);
//上传结果
Map<String, Object> values = null;
//实体
Brands brands = new Brands();
//判断表单元素是否为空 msg 存储错误信息
if (null != elementsValues.keySet() && null != elementsValues.get("msg")) {
map.addAttribute("msg", EncodingTools.encodeStr(elementsValues.get("msg").toString()));
} else {
//实体赋值
brands.setbName(elementsValues.containsKey("bName") ? elementsValues.get("bName").toString() : "");
brands.setbRemark(elementsValues.containsKey("bRemark") ? elementsValues.get("bRemark").toString() : "");
//保存实体成功 mybatis 返回成功的ID
if (0 < brandsService.addBrands(brands) && null != brands.getbId() && 0 != brands.getbId()) {
//拼接路径
StringBuffer filePath = new StringBuffer(request.getSession().getServletContext().getRealPath("\\"));
filePath.append("upload\\image\\logo\\");
//因为这里的路径需要保存成功的实体ID
filePath.append(brands.getbId() + "\\");
String[] fileType = { "image/png" };
//取出读出表单时存储的FileItem
FileItem item = (FileItem) elementsValues.get("item");
//上传图片
values = FileUpload.uploadFile(item, 1, fileType, filePath.toString());
//判断上传是否成功
if (null != values.keySet() && null == values.get("msg")) {
//得到上传成功后的文件名// 这可以减少一个判断 在页面多加一个input 存储表单类型 生成名称 先保存 再上传
String fileName = values.get("fileName").toString();
brands.setbIconPath(fileName);
//更新
if(0 < brandsService.editBrands(brands)){
//成功
}else{
//失败
}
} else if (null != values.get("msg")) {
map.addAttribute("msg", EncodingTools.encodeStr("上传图片失败!"));
}
map.addAttribute("msg", EncodingTools.encodeStr("添加成功!"));
//return new ModelAndView("redirect:/brands/findAll", map);
} else {
map.addAttribute("msg", EncodingTools.encodeStr("插入数据失败!"));
}
}
} catch (Exception e) {
e.printStackTrace();
map.addAttribute("msg", EncodingTools.encodeStr("上传文件失败!"));
}
return new ModelAndView("redirect:/view/admin/brands/add_brands.jsp",
map);
}