Spring MVC –如何处理最大上传大小超出异常

在Spring中,您可以声明一个@ControllerAdvice来捕获超出上限的丑陋的最大上传大小,如下所示:

春天文件上传最大文件大小

取决于multipartResolver的类型:

  1. StandardServletMultipartResolver –捕获MultipartException ,请参考此示例
  2. CommonsMultipartResolver –捕获MaxUploadSizeExceededException –请参MaxUploadSizeExceededException 示例
GlobalExceptionHandler.java
package com.mkyong.exception;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.web.multipart.MultipartException;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

@ControllerAdvice
public class GlobalExceptionHandler {

    //StandardServletMultipartResolver
    @ExceptionHandler(MultipartException.class)
    public String handleError1(MultipartException e, RedirectAttributes redirectAttributes) {

        redirectAttributes.addFlashAttribute("message", e.getCause().getMessage());
        return "redirect:/uploadStatus";

    }

    //CommonsMultipartResolver
    @ExceptionHandler(MaxUploadSizeExceededException.class)
    public String handleError2(MaxUploadSizeExceededException e, RedirectAttributes redirectAttributes) {

        redirectAttributes.addFlashAttribute("message", e.getCause().getMessage());
        return "redirect:/uploadStatus";

    }

}

Tomcat连接重置
如果您部署到Tomcat,并且无法捕获超出文件大小的异常,则可能是由Tomcat maxSwallowSize设置引起的。 阅读此文件-Spring文件上传和连接重置问题

参考文献

  1. Spring的多部分(文件上传)支持

翻译自: https://mkyong.com/spring/spring-mvc-how-to-handle-max-upload-size-exceeded-exception/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值