spring缺少扩展文件


问题内容

我正在使用SpringMVC开发应用程序,并且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;
}

任何人都可以给我提供见识吗?


问题答案:

如果它是一个简单的扩展,我可以建议这样做:

@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,这将为您提供整个文件名,但是设置标志有点困难。