【问题标题】:Spring missing the extension fileSpring缺少扩展文件
【发布时间】:2018-11-08 08:36:47
【问题描述】:

我正在使用 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;
}

谁能提供我的见解,好吗??

【问题讨论】:

    标签: spring-mvc


    【解决方案1】:

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

    @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;
    }
    

    另一种方法是有点迂回 - 这将通过将 RequestMappingHandlerMapping 中的 useSuffixPatternMatch 标志设置为 false,这应该为您提供整个文件名,但是设置标志有点困难。

    【讨论】:

      【解决方案2】:

      只需将 {file:.+} 添加到 RequestMapping。

      @RequestMapping (value = "/delete/{file:.+}", method = RequestMethod.DELETE)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-10
        • 2020-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-07
        • 2017-01-05
        相关资源
        最近更新 更多