Spring Boot 多部分文件上传

作者:编程家 分类: spring 时间:2025-11-12

Spring Boot 多部分文件上传

在开发 Web 应用程序时,文件上传是一个常见的需求。Spring Boot 提供了方便的方式来处理多部分文件上传。本文将介绍如何在 Spring Boot 中实现多部分文件上传,并提供一个案例代码。

1. 配置文件上传的最大大小

在开始之前,我们需要在配置文件中设置文件上传的最大大小。可以通过在 application.properties 文件中添加以下配置来完成:

properties

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

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

上述配置将限制文件大小为 10MB。您可以根据您的需求进行调整。

2. 创建文件上传接口

接下来,我们需要创建一个用于接收文件上传的接口。在 Spring Boot 中,可以使用 `@RestController` 注解来创建一个 RESTful 接口。

java

@RestController

public class FileUploadController {

@PostMapping("/upload")

public String uploadFile(@RequestParam("file") MultipartFile file) {

// 处理文件上传逻辑

return "File uploaded successfully!";

}

}

在上述代码中,我们使用 `@PostMapping` 注解来指定请求的方法为 POST,路径为 "/upload"。同时,我们使用 `@RequestParam` 注解来获取上传的文件。

3. 处理文件上传逻辑

在接口中,我们可以实现具体的文件上传逻辑。以下是一个简单的示例,将上传的文件保存到指定的目录中。

java

@RestController

public class FileUploadController {

@Value("${upload.path}")

private String uploadPath;

@PostMapping("/upload")

public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {

String fileName = file.getOriginalFilename();

String filePath = uploadPath + File.separator + fileName;

file.transferTo(new File(filePath));

return "File uploaded successfully!";

}

}

在上述代码中,我们使用 `@Value` 注解来获取配置文件中的上传目录路径。然后,我们通过 `transferTo` 方法将文件保存到指定的目录中。

4. 测试文件上传接口

完成以上步骤后,我们可以使用 Postman 或类似的工具来测试文件上传接口。将文件作为表单参数发送到 "/upload" 接口,并确保返回结果显示 "File uploaded successfully!"。

通过以上步骤,我们成功地实现了 Spring Boot 中的多部分文件上传。在实际开发中,您可以根据需求对文件上传进行更多的处理,例如验证文件类型、生成缩略图等。

希望本文对您理解 Spring Boot 中的多部分文件上传有所帮助。如有任何疑问,请随时提问。