1, 第一种处理方式 application.properties中添加
maxFileSize 是单个文件大小
maxRequestSize是设置总上传的数据大小
这就可以了。
根据自己需求定义吧,Mb和Kb都可以,大小写也都随意,Long字节应该可以的
另外这是MultipartConfigFactory类中的转换,可以瞅一眼
spring.http.multipart.maxFileSize=10Mb
spring.http.multipart.maxRequestSize=10Mb
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());
}
2,第二种增加Bean配置,注意当前类上需要加注解@Configuration
/**
* 文件上传配置
* @return
*/
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大
factory.setMaxFileSize("10240KB"); //KB,MB
/// 设置总上传数据总大小
factory.setMaxRequestSize("102400KB");
return factory.createMultipartConfig();
}
一般配置就放在启动类中就好了
@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();
}
}
3,第三种,Nginx上传限制
在nginx使用过程中,上传文件的过程中,通常需要设置nginx报文大小限制。避免出现413 Request Entity Too Large。
先找到linux下的/usr/local/nginx/conf
,nginx.conf
加上 client_max_body_size 10m;
这句话
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
charset utf-8;
access_log /var/log/nginx/access.log main;
client_max_body_size 10m; #增加这个参数就可以指定最大上传文件大小为10m了;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
然后保存,再命令行输入cd /usr/local/nginx/sbin
,进入这个nginx/sbin
目录,输入 ./nginx -s reload
重启nginx即可