上传大小配置

SpringBoot文件上传大小设置问题

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
       <property name="maxUploadSize" value="104857600"/> <property name="maxInMemorySize" value="4096"/> </bean>

这是以前上传文件时一种比较常见的设置上传文件大小的方法,但由于spring-boot自带org.springframework.web.multipart.MultipartFile的原因,配置这个bean后会产生冲突,以至于在后台获取不到上传的文件 

解决方法:

第一种: 
在application.properties中添加:

spring.http.multipart.maxFileSize=10Mb  
spring.http.multipart.maxRequestSize=10Mb 

 

老版本的话添加:

multipart.maxFileSize=128KB
multipart.maxRequestSize=128KB

其中: 
maxFileSize 是单个文件大小 
maxRequestSize是设置总上传的数据大小 
原理-》MultipartConfigFactory类中的转换如下:

private long parseSize(String size) {  
      Assert.hasLength(size, "Size must not be empty");  
      size = size.toUpperCase(); return size.endsWith("KB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L:(size.endsWith("MB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L * 1024L:Long.valueOf(size).longValue()); } 

 

第二种: 
在启动类中配置@Bean,注意当前类上需要加注解@Configuration,如下:

@Configuration  
@SpringBootApplication  
public class Application { public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } /** * 文件上传配置 * @return */ @Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); //文件最大 factory.setMaxFileSize("10240KB"); //KB,MB /// 设置总上传数据总大小 factory.setMaxRequestSize("102400KB"); return factory.createMultipartConfig(); } } 

此外:Tomcat,Nginx等也会对文件上传做一定的限制,具体问题具体分析。

转载于:https://www.cnblogs.com/1234cjq/p/7650223.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值