SpringBoot文件上传,加入Swagger测试

swagger依赖

        <!--swagger2接口测试工具-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

swagger测试在配置类里加入@EnableSwagger2

@Configuration
@MapperScan("com.zeromemos.mapper")
@EnableSwagger2 //Swagger测试配置
public class Config {
    //分页插件
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

可以修改配置文件application.properties设置上传大小限制

#设置单个文件的大小
spring.servlet.multipart.max-file-size=100MB
#设置单次请求的文件的总大小
spring.servlet.multipart.max-request-size=150MB

IndexController里加入测试方法

    //单文件
    @PostMapping("/upload")
    public R upload(MultipartFile photo){
        //如果非空
        if (!photo.isEmpty()){
            //获取文件名
            String originalFilename = photo.getOriginalFilename();
            try {
                //保存到C:\Users\admin\Desktop\文件名
                photo.transferTo(new File("C:\\Users\\admin\\Desktop\\" + originalFilename));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return R.ok();
    }

    //多文件
    @PostMapping("/uploads")
    public R uploads(MultipartFile[] photos){
        //如果长度(文件数)大于0
        if (photos.length > 0){
            //遍历保存,方法与单文件一样
            for (MultipartFile photo : photos) {
                if (!photo.isEmpty()){
                    String originalFilename = photo.getOriginalFilename();
                    try {
                        photo.transferTo(new File("C:\\Users\\admin\\Desktop\\" + originalFilename));
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
        return R.ok();
    }

启动项目访问swagger测试地址http://localhost:8001/swagger-ui.html

选择文件测试单文件上传


返回成功信息

桌面出现文件


Postman测试多文件上传


结果成功