1.springboot设置文件大小
第一种:
application.properties中添加
spring.http.multipart.maxFileSize=10MB
spring.http.multipart.maxRequestSize=10MB
maxFileSize 是单个文件大小
maxRequestSize是设置总上传的数据大小
这就可以了。
根据自己需求定义吧,Mb和Kb都可以,大小写也都随意,Long字节应该可以的
另外这是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,不然扫不到就不会起作用了。
/**
* 文件上传配置
* @return
*/
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大
factory.setMaxFileSize("10240KB"); //KB,MB
/// 设置总上传数据总大小
factory.setMaxRequestSize("102400KB");
return factory.createMultipartConfig();
}
2.mysql的sql长度大小设置
max_allowed_packet 如果不设置,默认值在不同的 MySQL 版本表现不同,有的版本默认1M,有的版本默认4M。
第一种:直接修改my.ini文件,然后重启
max_allowed_packet = 100M
第二种:通过命令来执行
show variables like '%max_allowed_pack%';
set global max_allowed_packet = 100 * 1024 * 1024;
a.命令行修改时,不能用M、G,只能这算成字节数设置。配置文件修改才允许设置M、G单位。
b.命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,下次数据库重启后又复原了。
c.max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。
3.tomcat设置上传文件大小
当服务器是Tomcat时,通过POST上传的文件大小的最大值为2M(2097152)。
如果想修改该限制,修改方法如下:
tomcat目录下的conf文件夹下,server.xml 文件中以下的位置中添加maxPostSize参数
<Connector port="8081"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="utf-8"
maxPostSize="0"/>
当maxPostSize<=0时,POST方式上传的文件大小不会被限制。
注意:maxPostSize参数只有当request的Content-Type为“application/x-www-form-urlencoded”时起作用。
4.nginx设置文件上传文件大小
location ~ [^/].php(/|$)
{
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
client_max_body_size 500m;
}