View Javadoc
1   package media.validation;
2   
3   import javax.validation.ConstraintValidator;
4   import javax.validation.ConstraintValidatorContext;
5   import java.io.IOException;
6   import java.io.InputStream;
7   import java.net.URLConnection;
8   
9   public class ImageValidator implements ConstraintValidator<Image, InputStream> {
10  
11      @Override
12      public void initialize(Image constraintAnnotation) {
13  
14      }
15  
16      @Override
17      public boolean isValid(InputStream value, ConstraintValidatorContext context) {
18          String mime;
19  
20          if (value == null) return true;
21          try {
22              mime = URLConnection.guessContentTypeFromStream(value);
23          } catch (IOException e) {
24              throw new RuntimeException(e);
25          }
26  
27          return mime != null && mime.startsWith("image/");
28      }
29  }