• Springboot2.X 文件上传的大小限制


    1. 在yml中配置上传大小的限制,如下:

    spring:
      servlet:
        multipart:
          max-file-size: 512000     # 文件上传大小限制为500kb
          max-request-size: 512000  # 请求大小限制为500kb
    

    2. 配置全局异常捕获:

    @RestControllerAdvice
    public class CustomExceptionHandler {
    
        // 上传文件超过500k,捕获异常:MaxUploadSizeExceededException
        @ExceptionHandler(MaxUploadSizeExceededException.class)
        public IMOOCJSONResult handlerMaxUploadFile(MaxUploadSizeExceededException ex) {
            return IMOOCJSONResult.errorMsg("文件上传大小不能超过500k,请压缩图片或者降低图片质量再上传!");
        }
    }

    3. 测试结果:

      <1>. 小于500KB的,没问题可以上传成功;

      <2>. 大于500KB的,但是小于2M的,会被拦截,测试成功;

      <3>. 大于2M的文件,上传直接没有反应,服务器没有报错没有响应,很郁闷。这个时候测试失败

    3.3 的解决方案,这问题主要由于tomcat的的文件大小限制,超过了默认的开销大小,就直接取消这个用户请求了,限制了你的访问,这没毛病,只不过没有任何的提示(因为服务器默认你的请求是恶意请求,就直接中断了,不给你回应,这本质是好意~),如果需要提示,则需要再次在yml中新增一个配置项,如下设置-1或者100MB即可

    server:
      tomcat:
        max-swallow-size: -1  # tomcat默认大小2M,超过2M的文件不会被捕获,需要调整此处大小为100MB或者-1即可

  • 相关阅读:
    tcp socket http(复制的)
    cas php
    占用字节
    网络基础
    Mbps MB/S Mb/s
    path_info和get_full_path()的区别
    rbac权限管理
    ORM _meta
    Django SQLite3的使用
    url的分发
  • 原文地址:https://www.cnblogs.com/leechenxiang/p/12185211.html
Copyright © 2020-2023  润新知