使用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
如果以上两种都支持需要按照上述配置