博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC之文件上传异常处理
阅读量:4325 次
发布时间:2019-06-06

本文共 1245 字,大约阅读时间需要 4 分钟。

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

  首先配置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;@ControllerAdvicepublic class ExceptionResolver {        @ExceptionHandler(MaxUploadSizeExceededException.class)    public ModelAndView handlerMaxUploadSizeExceededException(MaxUploadSizeExceededException e){        return new ModelAndView("upload").addObject("msg", "文件太大!");    }    }

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

转载于:https://www.cnblogs.com/loading4/p/6357810.html

你可能感兴趣的文章
clean-css 安装 使用
查看>>
Java设计模式(Design Patterns In Java)读书摘要——第1章 绪论
查看>>
Linux下Nginx安装
查看>>
LVM扩容之xfs文件系统
查看>>
Hbase记录-client访问zookeeper大量断开以及参数调优分析(转载)
查看>>
2010年ImagineCup,我们共同走过
查看>>
代码片段收集
查看>>
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
Oracle数据库索引使用及索引失效总结
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
hibernate 批量插入数据
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>