// 验证方法
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";
}
图片尺寸的验证宽高
最新推荐文章于 2018-11-21 22:55:55 发布