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 }