我正在使用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;
}
有人能为我提供见解吗?
答案 0 :(得分: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,这应该为您提供整个文件名,但设置标志有点困难的。
答案 1 :(得分:0)
只需将{file:。+}添加到RequestMapping。
@RequestMapping (value = "/delete/{file:.+}", method = RequestMethod.DELETE)