2012-03-19 4 views
0

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

+2

поток обратно от контроллера; в чем конкретно проблема? Какими должны быть эти два родителя? –

+0

Не существует конкретной проблемы, я просто не могу поместить каталог в application-context.xml, потому что каталог, который будет использоваться, будет динамически генерироваться. – arinte

+0

_How_ - это каталог, сгенерированный? – cdeszaq

ответ

1

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

@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

я сделать что-то вроде этого:

@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) {} 

} 
Смежные вопросы