在接触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项目中常见问题,可以通过本站来找到答案哦。
推荐阅读: