Spring и обслуживание файлов извне веб-сервера - PullRequest
0 голосов
/ 20 марта 2012

Я хочу, чтобы Spring обслуживал определенные файлы из каталога /tmp..., конкретный каталог не будет определен до тех пор, пока вскоре не будет запущен сервер, поэтому использование <mvc:resources location="/images/**" mapping="/absolute/path/to/image/dir"/>, по-видимому, не будет работать.

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Как заметил Дэйв Ньютон - передавайте их с контроллера.Очень базовая реализация:

@RequestMapping("/static/temp/{path}")
public void getResource(@PathVariable path, OutputStream os) {
     //TODO proper IO management
     InputStream is = new BufferedInputStream(new FileInputStream("/temp/" + path));
     IOUtils.copy(is, os);
}
0 голосов
/ 11 декабря 2012

Я делаю что-то вроде этого:

@RequestMapping(value="/staticFile/{id}", method = RequestMethod.GET)
public void getPhotoRide2(HttpServletResponse response, @PathVariable int id) {
            try {
                FileInputStream in = new FileInputStream("your file");
                OutputStream out = response.getOutputStream();
                response.setContentType("your mime type");
                byte[] buf = new byte[1024];
                int count = 0;
                while ((count = in.read(buf)) >= 0) {
                    out.write(buf, 0, count);
                }
               in.close();
               out.flush();
               out.close();
           } catch (Exception e) {}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...