MultipartFile文件上传大小超过限制的问题

使用sprngMVC拦截器方式解决
  1. 在springmvc-servlet.xml文件中加入拦截器配置,如下:
  <mvc:interceptors>
        <bean class="com.XXX.XXX.XXX.AuthorizationInterceptor">
            <property name="maxSize" value="1073741825" />
        </bean>
    </mvc:interceptors>

2.maxSize是允许上传的最大文件大小。代码如下

public class FileUploadInterceptor implements HandlerInterceptor {
    @Getter
    private static String fileMax;
    @Setter
    private long maxSize;
 
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if(ServletFileUpload.isMultipartContent(request)) {
            ServletRequestContext ctx = new ServletRequestContext(request);
            long requestSize = ctx.contentLength();
            if (requestSize > maxSize) {
                log.info("文件上传超过最大值:{}",maxSize);
                fileMax = "true";
            }else {
                fileMax = "false";
            }
        }
    }
  1. controller代码如下
@PostMapping(value = "/fileTask")
public ActionResult insertFileTask(前端传参) {
 //判断超过文件最大值,返回相应的状态码
        String fileMax = AuthorizationInterceptor.getFileMax();
        if (CharConstant.STRING_TRUE.equals(fileMax)){
            processResult(result, null, CodeConstant.FILE_SIZE_MAX);
            return result;
        }
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值