Spring отсутствует расширение файла
Я разрабатываю приложение с использованием Spring MVC и Extjs, и у меня есть проблема, мне нужно передать путь к файлу на мой контроллер, который собирается удалить изображение с путем. Однако, на мой взгляд, путь правильный, но когда запрос поступает в контроллер, путь без расширения.
Вид: notepad-icon.png
Контроллер: значок блокнота
@RequestMapping (value = "/delete/{file}", method = RequestMethod.DELETE)
public ModelAndView delete(@PathVariable String file){
ModelAndView view = new ModelAndView(VIEW);
service.delete(file);
view.addObject("success", Boolean.TRUE);
return view;
}
Кто-нибудь может дать мне понимание, пожалуйста?
2 ответа
Решение
Если это простое расширение, я могу порекомендовать сделать это:
@RequestMapping (value = "/delete/{file}.{ext}", method = RequestMethod.DELETE)
public ModelAndView delete(@PathVariable("file") String file, @PathVariable("ext") String ext){
ModelAndView view = new ModelAndView(VIEW);
service.delete(file + "." + ext);
view.addObject("success", Boolean.TRUE);
return view;
}
Еще один способ сделать это будет немного окольным путем - это будет путем установки useSuffixPatternMatch
флаг в RequestMappingHandlerMapping
в false, что должно дать вам полное имя файла, однако установить флаг немного сложно.
Просто добавьте {file:.+} В RequestMapping.
@RequestMapping (value = "/delete/{file:.+}", method = RequestMethod.DELETE)