springboot--上传文件

使用SpringBoot 默认的StandardServletMultipartResolver,不依赖commons-fileupload。
使用commons-fileupload的CommonsMultipartResolver,

排除默认

spring:
  autoconfigure:
    exclude: org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration

自定义

    @Bean(name = "multipartResolver")
    public MultipartResolver multipartResolver(){
        CommonsMultipartResolver resolver = new CommonsMultipartResolver();
        resolver.setDefaultEncoding("UTF-8");
        //resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常
        resolver.setResolveLazily(true);
        resolver.setMaxInMemorySize(40960);
        //上传文件大小 50M 50*1024*1024
        resolver.setMaxUploadSize(50*1024*1024);
        return resolver;
    }

**************************

application/x-www-form-urlencoded   空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值

multipart/form-data    不对字符进行编码,使用二进制数据传输,一般用于上传文件,非文本的数据传输

springboot 默认处理上传文件,如果传其他参数会转成ascii

如果以上两种都支持需要按照上述配置

原文地址:https://www.cnblogs.com/jentary/p/13553324.html