文件上传报错总结

news/2024/6/17 16:27:36 标签: spring boot, 后端, java

目录

1.文件上传时后端报错:Connection terminated as request was larger than 10485760

2.文件上传时nginx报错:413 Request Entity Too Large

3.总结


1.文件上传时后端报错:Connection terminated as request was larger than 10485760

拦截器中报错
org.springframework.web.util.NestedServletException: 
Request processing failed; nested exception is java.lang.IllegalStateException:
io.undertow.server.RequestTooBigException: UT000020: Connection terminated as request was larger than 10485760

原因:上传较大文件时,请求大小超过了默认的请求大小,springboot中默认的请求大小及文件大小如下:

spring.servlet.multipart.max-file-size=1MB
spring.servlet.multipart.max-request-size=10MB

解决方法:调高最大请求大小及文件大小。

spring.servlet.multipart.max-file-size=512MB
spring.servlet.multipart.max-request-size=512MB

有时候请求可能在拦截器中被拦截,没有进入到接口中,可以从拦截器中查看错误 

2.文件上传时nginx报错:413 Request Entity Too Large

原因:Nginx默认最大能够上传1MB文件,大于1MB的文件自然无法上传。

解决方法:在http中添加如下配置,对所有server都会生效,添加在某个server下,只会对此server生效。

client_max_body_size 50m;

3.总结

文件无法上传大概就有以下四个方面的原因:

服务器对上传文件带下做了限制。(Nginx,Apache,IIS等服务器,文中仅对Nginx配置做了说明)
网关对上传文件大小做了限制,此时添加配置即可。
SpringBoot/Spring对上传文件大小做了限制,添加配置即可。
文件确实过大,前后端链接超时,自动断开链接。(可前端做限制)
 


http://www.niftyadmin.cn/n/5335529.html

相关文章

【ROS2】ROS2使用C++实现简单服务端

使用ROS2实现简单的服务端,功能为将客户端提供的两个数相加后返回给客户端。 代码如下: #include "rclcpp/rclcpp.hpp" #include "std_msgs/msg/string.hpp" #include "base_interfaces_demo/msg/student.hpp" #include "base_interfac…

Android System Service系统服务--1

因为工作中经常需要解决一些framework层的问题,而framework层功能一般都是system service 的代理stub,然后封装相关接口,并提供给APP层使用,system service则在不同的进程中运行,这样实现了分层,隔离&#…

elasticsearch备份恢复,elasticdump使用

准备环境 1. 将node-v10.23.1-linux-x64.tar.xz上传到服务器/usr/local目录下 2. tar xf node-v10.23.1-linux-x64.tar.xz 3. 将node_modules.tar.gz上传到服务器/usr/local目录 4. tar -zxvf node_modules.tar.gz 5. 设置NODE环境 5.1 vim /etc/profile export NODEJS_…

知识图谱的演进

目录 前言1 Memex:信息存储的雏形2 超文本和Web:链接的崛起3 Semantic Web:从文本链接到数据链接4 Linked Big Data:规范化的语义表示5 谷歌的知识图谱搜索引擎6 多种语义网/知识图谱项目结语 前言 随着人工智能和互联网的飞速发…

最终Docker6:nacos集群部署

目录 mysql容器构建 1.进入soft 文件夹,创建mysql文件夹 2.进入conf文件夹 放入my.conf 配置文件 3.运行mysql容器 4.进入script文件夹 导入 sql文件 5.进入mysql 容器 并登录 6.创建nacos 数据库并使用,运行nacos.sql文件 7.授予用户所有权限 部…

使用注解@GrpcService在Spring Boot 中开始使用gRPC

介绍 在现代微服务架构中,不同服务之间高效、健壮和可扩展的通信至关重要。gRPC是由Google开发的高性能开源框架,使客户端和服务器应用能够无缝、高效地进行通信。本文将指导您通过使用GrpcService注解将gRPC集成到Spring Boot应用程序中的步骤。 gRPC…

Scrcpy:掌握你的Android设备

Scrcpy:掌握你的Android设备 本文将介绍Scrcpy工具,它是一种强大的安卓设备控制工具,可以实现屏幕镜像、操作控制等功能。我们将探讨Scrcpy的基本原理和工作方式,并介绍如何使用Scrcpy连接和控制安卓设备。此外,我们还…

mysql数据迁移报错Specified key was too long; max key length is 767 bytes

目录 场景: 说明: 疑问: 解决: 验证: 场景: 线上项目支持的过程中遇到mysql库表结构和数据由A库迁移到B库上提示Specified key was too long; max key length is 767 bytes报错,第一次遇到特此…