我只想允许某产品的600 x 600像素的图像。
我应该在控制器方法中包含此验证规则,还是该验证部分属于服务层(引发异常)?
@PostMapping("{id}/edit/uploadProductImage")
public String uploadProductImage(...) throws IOException {
// ...
BufferedImage image = ImageIO.read(imageForm.getFile().getInputStream());
Integer width = image.getWidth();
Integer height = image.getHeight();
if (!width.equals(600) && !height.equals(600)) {
model.addAttribute("imageErrorMessage", "Wrong size!");
result.reject("file");
}
// >>> or put validition to service layer and throw exception?
productService.storeTeaserImageForProduct(product.get(), imageForm.getFile());
//...
}
你能给我一个提示吗?
答案 0 :(得分:0)
我会将图像大小验证作为服务层中的一种方法。将来您可能需要做更多的图像尺寸验证-这样您就无法在控制器中重复使用代码。