最近项目中用到了文件图片上传操作,
前端 使用<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时就会报错:
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数据大小
本文详细介绍了在Spring Boot项目中,使用base64格式上传大文件时遇到的问题及解决方案。当上传文件超过一定大小时,会出现错误。文章提供了调整Tomcat服务器HttpPost数据大小限制的方法,以确保大文件能够成功上传。

448

被折叠的 条评论
为什么被折叠?



