Spring Boot 设置文件上传大小

在现代 web 应用中,文件上传是一个常见的功能需求。在使用 Spring Boot 开发应用时,默认的文件上传大小限制可能不足以满足我们的需求。因此,了解如何设置文件上传大小是非常必要的。本文将为您详细介绍如何在 Spring Boot 中调整文件上传的大小限制,且附带代码示例。

配置文件上传大小

Spring Boot 中的文件上传大小限制主要通过配置文件进行设置。可以在 application.propertiesapplication.yml 中进行配置。以下是两个常见的配置示例:

使用 application.properties
# 设置单个文件上传大小限制为 10MB
spring.servlet.multipart.max-file-size=10MB
# 设置总上传文件大小限制为 20MB
spring.servlet.multipart.max-request-size=20MB
  • 1.
  • 2.
  • 3.
  • 4.
使用 application.yml
spring:
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 20MB
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

代码示例

接下来,让我们看看一个简单的示例,演示如何使用 Spring Boot 进行文件上传。

Controller 示例
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.http.ResponseEntity;

@RestController
@RequestMapping("/api/upload")
public class FileUploadController {

    @PostMapping
    public ResponseEntity<String> uploadFile(@RequestParam("file") MultipartFile file) {
        // 处理文件上传逻辑
        String fileName = file.getOriginalFilename();
        System.out.println("Uploaded file: " + fileName);
        
        // 此处可以实现文件存储逻辑
        return ResponseEntity.ok("File uploaded successfully: " + fileName);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
前端上传示例

为了与后端进行交互,前端可以使用简单的 HTML 表单上传文件,如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>File Upload</title>
</head>
<body>
    Upload File
    <form action="/api/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="file" required />
        <button type="submit">Upload</button>
    </form>
</body>
</html>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

序列图:文件上传过程

以下是文件上传过程的序列图,显示了用户、前端和后端之间的交互关系。

Backend Frontend User Backend Frontend User 选择文件 POST /api/upload (包含文件) 响应上传结果 显示上传结果

总结

在进行文件上传时,了解并正确设置上传大小限制是非常重要的。通过本文提供的示例代码和配置方式,您可以轻松调整 Spring Boot 应用的文件上传大小限制。这将有助于提高用户体验,避免因文件过大而导致的上传失败。

希望本文能为您在使用 Spring Boot 进行文件上传时提供一些有用的信息和指导。如果您有任何疑问或进一步的需求,欢迎随时询问!