1 package media;
2
3 import javax.enterprise.context.ApplicationScoped;
4 import javax.inject.Inject;
5 import javax.validation.constraints.NotBlank;
6 import java.io.BufferedInputStream;
7 import java.io.IOException;
8 import java.io.InputStream;
9 import java.net.URLConnection;
10
11
12
13
14 @ApplicationScoped
15 public class ImageService {
16 private MediaRepository mediaRepository;
17
18 protected ImageService(){}
19
20 @Inject
21 protected ImageService(MediaRepository mediaRepository){
22 this.mediaRepository = mediaRepository;
23 }
24
25
26
27
28
29
30
31 public InputStream getImage(@NotBlank String filename) throws IOException {
32 InputStream inputStream = mediaRepository.get(filename);
33 if(inputStream == null)
34 return null;
35
36 inputStream = new BufferedInputStream(inputStream);
37 String mimetype = URLConnection.guessContentTypeFromStream(inputStream);
38 if(mimetype == null || !mimetype.startsWith("image/"))
39 return null;
40
41 return inputStream;
42 }
43 }