tomcat限制上传文件大小
⑴ tomcat上传文件问题
第一步:需要先创建一个server,可以通过windows中的show view,之后找到server,
第二步:在server窗口中右击,选择”new-server“,之后创建好tomcat server。
第三步:双击创建的server,进入server设置界面,设置Server Location,选择编译路径是”Use Tomcat“即可切换到Tomcat的路径,保存。
第四步:之后将server项目添加到此server下,这样就完成了部署到Tomcat下。
⑵ 上传文件时出现跨域问题
一个新的奇葩问题:前端报跨域出错,原因却在后台上传的文件超过了Tomcat限制。
前端报错
后端日志
所以啊,这根本不是跨域的问题, Tomcat默认上传的文件大小就是1MB ,你上传的文件超过而已。
你可以在前端配置一下文件大小限制,
例如
或者在后端设置上传文件大小限制
以SpringBoot为例
在application.yml中添加配置
⑶ SpringBoot tomcat 上传文件大小受限制
applicaton.properties配置:
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=200MB
或
application.yml配置:
# Spring配置
spring:
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 20000MB
# 设置总上传的文件大小
max-request-size: 50000MB
并且添加如下配置文件
import javax.servlet.MultipartConfigElement;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;
@Configuration
public class UploadConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大20000M
factory.setMaxFileSize(DataSize.ofMegabytes(20000));
// factory.setMaxFileSize(DataSize.parse("100MB"));
// 设置总上传数据总大小
factory.setMaxRequestSize(DataSize.parse("50000MB"));
return factory.createMultipartConfig();
}
}
⑷ SpringBoot上传文件大小限制的配置
使用SpingBoot框架上传文件时,如果文件大小超过了1MB,会报错:
原因是SpringBoot内置的Tomcat的文件传输默认单个文件最大1M,单次请求文件总数大小为10M。
解决方法:
可以在SpingBoot的application.yml配置文件中进行修改
SpingBoot2.0版本之前:
SpingBoot2.0版本之后:
⑸ iOSbase64太大无法上传到后端怎么办
服务器采用base64的方式进行上传文件的时候,出现接收到的数据为null,抛空指针异常,后来发现是tomcat默认为2M的字符串限制,因此修改如下配置即可。
post请求理论上对参数的大小没有限制,但是服务器有限制,把Tomcat的server.xml里设置一下就好了
注:Tomcat的版本低于等于7,设置maxPostSize=“0”表示post参数无限大。
Tomcat的版本大于等于8,设置maxPostSize=“104857600”表示post参数最大100MB。
⑹ 上传文件失败,具体原因:上传的文件超过大小限制,请上传小于 1024k的文件
服务器默认设置没改导致的
NGINX、Tomcat都有相关设置
网络搜一下 上传文件超过1M报错 就知道了,改下参数并重启服务就行了。
⑺ 我用commons-fileupload设置上传文件大小时遇到一个问题。upload.setFil
fileupload有两个设置:
upload.setFileSizeMax(1024*1024*100); //设置上传的单个文件的最大字节数为100M
upload.setSizeMax(1024*1024*1024); //设置整个表单的最大字节数为1G
setFileSizeMax意思是单个文件的大小,setSizeMax表示表单的总大写,建议写大一点就不会报错了。