springboot设置文件上传大小详解,如何设置?

KLQ 2020-07-08 15:16:46 java常见问答 3398

在接触springboot的时候一定都遇到过设置文件上传大小的问题,很多人表示不知道要如何才能实现,下面就让我们一起来了解一下具体的方法吧。

springboot上传文件大小的配置有2种方法,第一个是设置在配置文件里只有两行代码,另外一个就是加个Bean

下面的话我们先来了解一下第一种。

在application.properties当中添加:

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

maxFileSize-单个文件大小,maxRequestSize-设置总上传的数据大小,这样的话就可以了,之后根据自己的需求定义即可。

Mb和Kb都是可以的,大小写随意。

除此之外,这是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() * 1024 L : (size.endsWith("MB") ? Long.valueOf(size.substring(0, size.length() - 2))
            .longValue() * 1024 L * 1024 L : Long.valueOf(size)
            .longValue());
}

再来看看第二种。

注意现在这个类上面需要加上注解@Configuration,不然的话扫不到就不能起作用了。

/**  
 * 文件上传配置  
 * @return  
 */
@Bean
public MultipartConfigElement multipartConfigElement()
{
    MultipartConfigFactory factory = new MultipartConfigFactory();
    //文件最大  
    factory.setMaxFileSize("10240KB"); //KB,MB  
    /// 设置总上传数据总大小  
    factory.setMaxRequestSize("102400KB");
    return factory.createMultipartConfig();
}

配置一般放在启动类当中就可以了。

import javax.servlet.MultipartConfigElement;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@SpringBootApplication(exclude = {
    DataSourceAutoConfiguration.class
    , HibernateJpaAutoConfiguration.class
})
public class Application
{
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
    {
        return application.sources(Application.class);
    }
    public static void main(String[] args)
    {
        try
        {
            SpringApplication.run(Application.class, args);
        }
        catch (Exception e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    @Bean
    public MultipartConfigElement multipartConfigElement()
    {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //文件最大  
        factory.setMaxFileSize("1024MB"); //KB,MB  
        //设置总上传数据总大小  
        factory.setMaxRequestSize("102400MB");
        return factory.createMultipartConfig();
    }
}

这个方面的内容你都了解了吗?奇Q工具网专门针对java进行知识讲解,假如你遇到了难以解决的java项目中常见问题,可以通过本站来找到答案哦。

推荐阅读:

springboot添加webapp目录详解

springboot设置日志级别详解,如何设置

spring boot如何修改默认端口号?实现方法详解