Използвам spring framework в webapplication и бих искал да заредя ресурси (*.jpeg), съхранени извън classpath.
Извиквам GET
метод на някакъв контролер. Работи, когато извикам снимката от classpath. Но когато извиквам пътища като: /ext/media/photos/photo.png
, file:/ext/media/photos/photo.png
, /home/user/ext/media/photos/photo.png
, http://some-web-image
, това не работи.
@RequestMapping(value = "/loadPhoto", method = RequestMethod.GET, produces = MediaType.IMAGE_PNG_VALUE)
public ResponseEntity<byte[]> loadPhoto() throws IOException {
InputStream in = servletContext.getResourceAsStream("/ext/media/photos/photo.png");
return new ResponseEntity<byte[]>(IOUtils.toByteArray(in), HttpStatus.CREATED);
}
Опитах се да съпоставя url с реално местоположение в пролетен контекст
<mvc:resources mapping="/ext/media/photos/**" location="file:/home/user/ext/media/photos/"/>
Но все още не мога да получа ресурса. Това правилният начин ли е как да получите ресурс извън classpath?