当我上传大于100MB的文件时,Tomcat抛出org.apache.tomcat.util.http.fileupload.FileUploadBase.SizeLimitExceededException。我要处理此问题,并在文件大于100MB时重定向。这是我的处理程序,但是程序无法到达那里。异常是由Tomcat抛出的,而不是我抛出的。我的方法都没有抛出此异常。
public ModelAndView handleLargeFileException(FileUploadBase.SizeLimitExceededException e) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("redirect:add");
modelAndView.addObject("title", "Error");
modelAndView.addObject("largeFile", true);
return modelAndView;
}
最佳答案
用@ControllerAdvice
注释控制器类
使用@ExceptionHandler
注释处理程序方法,如下所示。
@ExceptionHandler(SizeLimitExceededException .class)
public ModelAndView handleLargeFileException() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("redirect:add");
modelAndView.addObject("title", "Error");
modelAndView.addObject("largeFile", true);
return modelAndView;
}
有关更多详细信息,请参见this示例。