// 验证方法 private void validate(Banner banner, BindingResult result, int method,MultipartFile image) throws IOException { // method:如果在新增的时候调用 写1,如果在修改时调用写2 // 新增、修改时验证方法条件不同 BannerCond cond = new BannerCond(); cond.setName_c(banner.getName()); if (method == 2) {// 修改时多拼上一个查询条件 cond.setId_c(banner.getId()); } int count = service.queryCount(cond); if (count > 0) {// 这个名称已经存在(验证未通过) result.rejectValue("name", "", "【轮播图名称】不能重复!"); } ///图片尺寸的验证宽高 大小 if(!image.isEmpty()){ BufferedImage bi = ImageIO.read(image.getInputStream());// 定义一个图片缓存变量 String validate = util.findDictValue(12, banner.getType());// 去字典里按不同终端去取不同的验证标准 String vali[] = validate.split(","); if (bi.getWidth() != new Integer(vali[0])) { result.rejectValue("name", "", "图片宽度必须是" + vali[0] + "px!"); } if (bi.getHeight() != new Integer(vali[1])) { result.rejectValue("name", "", "图片高度必须是" + vali[1] + "px!"); } if (image.getSize() / 1024f > new Integer(vali[2])) { result.rejectValue("name", "", "图片大小不超过" + vali[2] + "K!"); } } } /** * @throws IOException * @功能说明:修改记录 */ @RequestMapping("update") public String update(Map<String, Object> map, @ModelAttribute("banner") Banner banner, BindingResult result, MultipartFile image) throws IOException { validate(banner, result, 2,image);// 调用验证方法 if (result.hasErrors()) {// 如果存在验证不通过的情况 map.put("typeMap", util.getDictMap(10, false));// 准备终端类型map return "cms/banner/update"; } service.update(banner, image); return "redirect:list"; }
图片尺寸的验证宽高
最新推荐文章于 2023-02-18 17:56:43 发布