SprinbBoot 文件上传

server/2024/12/22 3:00:32/

SprinbBoot 文件上传

后端(Spring Boot)

  1. 添加依赖:确保你的pom.xml文件中包含了Spring Boot的Web依赖。

xml

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 其他依赖 -->
</dependencies>
  1. 配置文件:在application.propertiesapplication.yml中配置文件上传的相关参数,例如最大文件大小。
    • 如果不配置spring.servlet.multipart.max-file-size和spring.servlet.multipart.max-request-size,那么文件上传的默认限制将由Spring Boot使用的底层库(通常是Tomcat)来决定。

properties

# application.properties
spring.servlet.multipart.max-file-size=2MB
spring.servlet.multipart.max-request-size=2MB
  1. 创建文件MultipartFile类

java

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;@RestController
public class FileUploadController {@PostMapping("/upload")public String handleFileUpload(@RequestParam("file") MultipartFile file) {try {// 检查文件是否为空if (file.isEmpty()) {return "文件不能为空";}// 保存文件到本地目录String destPath = "uploads/" + file.getOriginalFilename();file.transferTo(new File(destPath));return "文件上传成功,路径:" + destPath;} catch (IOException e) {e.printStackTrace();return "文件上传失败";}}
}
  1. 异常处理(可选):你可以创建一个异常处理器来处理文件上传过程中可能出现的异常。

java

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {@Overrideprotected ResponseEntity<Object> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException exc, HttpHeaders headers, HttpStatus status, WebRequest request) {String message = "不能上传超过 " + exc.getMaxSize() + " 的文件";return new ResponseEntity<>(message, HttpStatus.PAYLOAD_TOO_LARGE);}
}

http://www.ppmy.cn/server/124775.html

相关文章

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SO-SVR蛇群算法优化支持向量机的数据多…

JavaScript中的输出方式

1. console.log() console.log() 是开发者在调试代码时最常用的方法。它将信息打印到浏览器的控制台&#xff0c;使开发者能够查看变量的值、程序的执行状态以及其他有用的信息。 用途&#xff1a;用于调试和记录程序运行时的信息。优点&#xff1a;简单易用&#xff0c;适合…

Redis主从哨兵模式中出现双主

Redis主从哨兵模式中出现双主的原因主要与主从复制的机制和哨兵的故障转移机制有关。以下是详细的解释&#xff1a; 主从复制机制&#xff1a; Redis的主从复制是通过将主节点的数据复制到从节点来实现的。主节点负责处理所有的写操作&#xff0c;并将这些操作同步到从节点。从…

安卓 shape 的使用

在Android开发中&#xff0c;<shape>元素是一个XML资源&#xff0c;用于定义形状&#xff0c;如矩形、圆形、椭圆形、线条等。这些形状可以用于多种场景&#xff0c;比如作为按钮的背景、视图边框或者列表项的分隔线等。<shape>元素位于drawable资源文件夹&#xf…

cpu路、核、线程、主频、缓存

路&#xff1a;主板插口实际插入的 CPU 个数&#xff0c;也可以理解为主板上支持的CPU的数量。每个CPU插槽可以插入一个物理处理器芯片。例如&#xff0c;一台服务器可能有2路或4路插槽&#xff0c;这意味着它最多可以安装2个或4个物理处理器。 核&#xff1a;单块 CPU 上面能…

统信服务器操作系统a版e版【dde桌面限制登录次数】介绍

dde桌面登录规则、tty限制登录次数、ssh限制登录次数、ssh限制地点登录、本地限制终端登录、时间限制登录等内容 文章目录 功能概述功能介绍1.查看dde桌面登录规则2.tty限制登录次数3.ssh限制登录次数4.ssh限制地点登录5.本地限制终端登录6.时间限制登录 功能概述 限制dde桌面…

SQL_having_pandas_filter

HAVING子句在SQL中用于对分组后的结果进行过滤&#xff0c;它通常与GROUP BY子句一起使用。HAVING子句允许你指定条件来过滤聚合函数的结果&#xff0c;而WHERE子句则用于在分组之前过滤原始数据。 基本语法 SELECT column_name, aggregate_function(column_name) FROM table…

9.24作业

将昨天的My_string类中的所有能重载的运算符全部进行重载 、[] 、>、<、、>、<、! 、&#xff08;可以加等一个字符串&#xff0c;也可以加等一个字符&#xff09;、输入输出(<< 、 >>) 代码如下 MyString.h #ifndef MYSTRING_H #define MYSTRING_…