spring文件上传提示如下错误:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Oct 25 14:15:52 GMT+08:00 2019
There was an unexpected error (type=Internal Server Error, status=500).
Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field excelFile exceeds its maximum permitted size of 1048576 bytes.
文件上传时候提示文件大小超过如下限制,大概知道是要修改spring的配置或者java 代码;
修改了配置后打包后上传发现项目无法启动,以为配置没有生效,修改代码;
好多年没写过java 代码的我从网上找到了对应的代码,但是不知怎么编译了,重现安装配置maven 后编译无法通过;
新接手的项目这里有很多个坑
1,idea java 无法高亮 解决方案: project Sturcture --->modules--->sources增加source folders (指向src目录),然后文件左下角的小j就消失了 ( 参考: https://blog.csdn.net/KILANG/article/details/82683274)
2,maven 安装后,idea 无法选择 ,开始放在 /usr/local/lib 目录下 发现idea无法选择,可能是权限问题; 重现放在用户目录配置
export M2_HOME=/Users/xxx/lib/apache-maven-3.6.2
export PATH=$PATH:$M2_HOME/bin
3,无法自动导入package( idea 没有开启这个 简直是一大损失) ;
解决:(来源:https://blog.csdn.net/weixin_37539378/article/details/80537011)
Settings→Editor→General→Auto Import
然后勾选Add unambiguous imports on the fly以及Optimize imports on the fly
4,编译命令 mvn package
5, 自己打包上传后直接启动会有问题,还要设置启动参数 dev 【 自动化部署和手动部署的差别】 ,如果有ci 服务集成就用jekins 分布;
还要注意分支,勾选发布到服务器;
完整的处理上传限制代码:
package com.xxx; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.MultipartConfigFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.servlet.MultipartConfigElement; @Configuration @SpringBootApplication public class FactoryDockingApplication { public static void main(String[] args) { SpringApplication.run(FactoryDocingApplication.class, args); } @Bean public MultipartConfigElement multipartConfigElement () { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setMaxFileSize("100240KB"); factory.setMaxRequestSize("100240KB"); return factory.createMultipartConfig(); } }
加粗部分是代码增加的,注意包的导入;
如果修改配置的话,一定注意环境,每个环境都要添加;最后解决了上传限制 ;
#file upload
spring.http.multipart.maxFileSize=100Mb
spring.http.multipart.maxRequestSize=100Mb