SpringMVC之文件上传异常处理

您所在的位置:网站首页 数据上传异常 SpringMVC之文件上传异常处理

SpringMVC之文件上传异常处理

2024-03-16 19:54| 来源: 网络整理| 查看: 265

  一般情况下,对上传的文件会进行大小的限制。如果超过指定大小时会抛出异常,一般会对异常进行捕获并友好的显示出来。以下用SpringMVC之文件上传进行完善。

  首先配置CommonsMultipartResolver,必须开启resolveLazily,该参数表示延迟解析,否则无法在Controller抛出异常

  现在,当文件超过指定大小时就会抛出异常了,接着就是捕获异常了。该上传的Controller中加入该方法用来捕获MaxUploadSizeExceededException:

@ExceptionHandler(MaxUploadSizeExceededException.class) public ModelAndView handleException(Exception e) throws Exception { return new ModelAndView("upload").addObject("msg", "文件太大!"); }

  注意,该方法的参数不能含有Model。

  以上这种方法只会捕获该Controller抛出的异常,如果想定义全局的异常处理器,可使用@ControllerAdvice

package cn.powerfully.demo.web.controller; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.multipart.MaxUploadSizeExceededException; import org.springframework.web.servlet.ModelAndView; @ControllerAdvice public class ExceptionResolver { @ExceptionHandler(MaxUploadSizeExceededException.class) public ModelAndView handlerMaxUploadSizeExceededException(MaxUploadSizeExceededException e){ return new ModelAndView("upload").addObject("msg", "文件太大!"); } }

  该方法也能实现一样的效果,但是它是针对全局的。对于全局的异常处理器来说,处理肯定不能这么写,这里只是演示写法而已...



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3