如何上传超过大小限制的多个部分



我有后端API,假设上传多部分文件,但当文件大小超过限制时,会显示错误500,如下所示:

message:Servlet.service() for servlet [dispatcherServlet] in context with path [/marketplace] 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: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (10510555) exceeds the configured maximum (10485760)] with root cause
org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (10510555) exceeds the configured maximum (10485760)

因此,当前的解决方案是将我的application.yml for multipart设置更改为如下内容:

http:
multipart:
max-file-size: -1
max-request-size: -1

而且效果很好,但是原来我不被允许更改此应用程序。yml我的另一个解决方案是更改前端文件大小检查和调整大小,但事实证明我也只允许更改后端。

问题:有没有其他方法可以在多部分请求进入应用程序之前更改其大小?

找到了解决方案,我不必更改我的应用程序。yml

我在我的app.java 中添加了这行代码

@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize(50000000);
factory.setMaxRequestSize(50000000);
return factory.createMultipartConfig();
}

它工作得很好,你可以编辑文件大小。希望这能帮助任何其他有同样问题的

最新更新