最近项目中用到了文件图片上传操作,
前端 使用<input type="file" class="ignore" accept="image/jpeg,image/png,image/gif"> (base64字节)
后台使用String字符串进行接收(base64字节)
properties配置文件中进行文件上传大小配置
spring.http.multipart.max-file-size=20Mb //上传文件的大小限定;只有上传采用文件格式进行接收时起作用,针对上面的base64格式图片(后台是String进行接收)不起作用;
spring.http.multipart.max-request-size=60Mb //上传请求数据的大小限定;限定请求的总数据大小
但是发现当上传文件大小大于1.5M时就会报错:
1 2 3 |
2018-06-08 11:03:19.006 ERROR 3784 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector] with root cause java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector |
经过分析发现是springboot中的内置tomcat服务器限定了Httppost的最大size
通过在properties中添加如下配置,修改该内置服务器的对HttpPost数据的大小; 成功解决该问题;
server.maxHttpHeaderSize=102400000 //设定HttpHeader请求头大小
server.maxHttpPostSize =102400000 //设定Httppost数据大小
from:https://www.cnblogs.com/AnXinliang/p/9154659.html