zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    HTTP协议
    django-两种方式对单表的操作
    模态框对话
    django
    web框架原理
    DNS详解
    jQuery
    初识web框架
    练习:简单主页搭建
    多表查询
  • 原文地址:https://www.cnblogs.com/lavin/p/11757711.html
Copyright © 2011-2022 走看看