项目场景:
项目是一个 VUE + Spring Boot(后台) + web API(C#)(后后台)的项目
主要是实现一个信息发布功能。VUE负责界面,SpingBoot用作后台,WebApi是原来旧的信息发布系统的接口,为了方便开发,就进行了复用。
问题描述
//SpringBoot向WebApi Post数据 String resString = MyHttpClientUtils.post(baseUrl, JSON.toJSONString(accessoryRequest));
//WebApi Controller接收数据 public ResponseMsg Post([FromBody]AccessoryDetailRequest request) {......}
当文件小于3M左右(也没有太多的尝试得到特别精确的值)的时候,SpringBoot接口能接收到上传的file,也明确的回传了,WebApi 后台返回成功;
但当文件大于3M,到达4,5M时候,SpringBoot接口也同样能接收到上传的file,也明确的回传了,但WebApi 后台返回失败。
随后我对于第一、第二种情况都进行了WebApi本地debug调试,第一种情况能接收到完整的request,但第二种情况就发现接收到的request为null【除了文件大小改变外,没有任何的区别。】。
原因分析:
大概猜测问题应该在SpringBoot上,唯一可能的大概就是SpringBoot在Post其他接口的时候会限制Post传输数据的大小。也找了一些解决方案
(https://www.cnblogs.com/6324/p/10470690.html)
(https://qyyshop.com/info/983496.html)
也在SpringBoot项目中的application.yml中加入如下的配置:
spring: http: multipart: max-file-size: 1024MB max-request-size: 1024MB #Tomcat-Post请求超限制 server: tomcat: # post请求不设大小限制 max-http-form-post-size: 1024MB max-swallow-size: 1024MB servert: max-http-post-size: 1024MB
数值改成-1也试过,但是都不管用。
解决方案:
跪求一个解决方案啊!
我只能说这个问题太抽象了。