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