spring-file-upload-exceeds its maximum permitted size of 1048576 bytes

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

 

posted on 2019-10-29 11:21  iokde.com  阅读(377)  评论(0编辑  收藏  举报

导航