springBoot multipart 上传文件大小设置

解决SpringBoot项目中图片上传大小限制问题,通过调整multipart配置并自定义上传类实现灵活的文件上传设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的项目是Maven管理的  框架使用springBoot Spring Mybatis

 

1、最近在弄图片上传,前端控件用的是bootstrap fileinput 这个插件,不知道为什么前端控制了总是不起作用,multipart他的默认大小是102400字节,我这出现了一个奇怪的问题就是页面中上传的图片超过了multipart的默认大小后  就请求不到后台的方法了,定位问题都不好定位,偶然的一次机会出现了个提示,这才找到解决方案

解决方法:
1、在application.properties中添加:

multipart.maxFileSize=10M // 这个设置是单个文件上传大小

multipart.maxRequestSize=10M // 这个应该是设置最大请求

2、又单独写了一个类来读取

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.servlet.MultipartConfigElement;

@Configuration  
public class FileUploadConfig {  
    /** 
     * 文件上传配置 
     *  
     * @return MultipartConfigElement 
     */  
    @Bean
   public MultipartConfigElement multipartConfigElement(
           @Value("${multipart.maxFileSize}") String maxFileSize) {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        // 单个文件最大  
        factory.setMaxFileSize(maxFileSize);
        // 设置总上传数据总大小  
       factory.setMaxRequestSize(maxFileSize);
       String osName=System.getProperty("os.name");
       if(osName.contains("Linux")){
    	   factory.setLocation("/tmp");
       }
       return factory.createMultipartConfig();
    }  
}

 

这样上传文件就可以随心设置了

我在网上搜索的好多都说 上面是两种方法写哪一种都行,我是两个一起用的 单独的没有试过,反正就是可以上传啦!!!

希望能帮到大家!

后补:

由于长时间未使用系统,再次使用上传功能时会报如下错误

Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary up

这是因为无临时目录导致上传文件失败,临时文件不存在是因为linux自动清理10天未操作的临时文件目录

网上说了好几种办法都可以解决,我使用的是画线部分可以完美解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值