Spring Boot 是一个强大的、灵活的、开发效率高的框架,适合开发各种类型的 Web 应用或微服务,是现代化的企业级开发的首选。

接口编写

可以使用Spring Boot的MultipartResolver来实现上传多文件。

在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

在application.properties中添加以下配置:

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

创建一个上传文件的Controller:

import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import java.util.ArrayList;
import java.util.List;

@Controller
public class FileUploadController {

    @PostMapping("/upload")
    public ResponseEntity<List<String>> handleFileUpload(@RequestParam("files") MultipartFile[] files) {
        List<String> fileNames = new ArrayList<>();
        for (MultipartFile file : files) {
            String fileName = file.getOriginalFilename();
            fileNames.add(fileName);
            // 保存文件业务逻辑
        }
        return ResponseEntity.ok(fileNames);
    }
}

创建一个上传文件的表单:

<!DOCTYPE html>
<html>
<head>
    <title>Upload Multiple Files Example</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="/upload">
    <input type="file" name="files" multiple>
    <button type="submit">Upload</button>
</form>
</body>
</html>

在表单中,使用multiple属性允许用户选择多个文件,然后使用input元素的name属性来指定上传的文件参数。

上传后,控制器将收到文件数组,并通过循环处理每个文件,然后将文件名添加到列表中返回给客户端。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐