部分 报错信息
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException:
org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException:
Processing of multipart/form-data request failed.
java.io.EOFException: Unexpected EOF read on the socket] with root
cause java.io.EOFException: Unexpected EOF read on the socket
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:805) ~[tomcat-embed-core-9.0.38.jar!/:9.0.38]
at org.apache.coyote.http11.Http11InputBuffer.access 300 ( H t t p 11 I n p u t B u f f e r . j a v a : 42 ) [ t o m c a t − e m b e d − c o r e − 9.0.38. j a r ! / : 9.0.38 ] a t o r g . a p a c h e . c o y o t e . h t t p 11. H t t p 11 I n p u t B u f f e r 300(Http11InputBuffer.java:42) ~[tomcat-embed-core-9.0.38.jar!/:9.0.38] at org.apache.coyote.http11.Http11InputBuffer 300(Http11InputBuffer.java:42) [tomcat−embed−core−9.0.38.jar!/:9.0.38]atorg.apache.coyote.http11.Http11InputBufferSocketInputBuffer.doRead(Http11InputBuffer.java:1150) ~[tomcat-embed-core-9.0.38.jar!/:9.0.38]
at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:102) ~[tomcat-embed-core-9.0.38.jar!/:9.0.38]
at org.apache.coyote.http11.Http11InputBuffer.doRead(Http11InputBuffer.java:248) ~[tomcat-embed-core-9.0.38.jar!/:9.0.38]
at org.apache.coyote.Request.doRead(Request.java:555) ~[tomcat-embed-core-9.0.38.jar!/:9.0.38]
文件太大了。检查springboot的配置
以下为SpringBoot2.x的配置
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
如果出现超时导致的未完全读取到文件
设置一下SpringBoot的请求超时
spring.mvc.async.request-timeout=20000
如果还出现上一种错误,很可能是使用了CDN
我使用的是阿里云的CDN
域名管理 -> 回源配置 -> 配置 -> 回源请求超时时间
设置时间
以上为微信小程序 使用 SpringBoot2.x 上传文件到阿里云OSS,域名使用CDN加速出现问题的解决方法。这里记录一下