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测试多文件上传
结果成功