引入maven资源
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!-- hutool-all -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.9</version>
</dependency>
SpringBoot配置
修改为自己需要的大小
#文件上传大小配置
spring:
servlet:
multipart:
max-file-size: 1024MB
max-request-size: 1024MB
#文件上传根目录
file:
path: /Users/tianpuyang/uploadPath/file/
FileUploadController
uploadFile:文件上传接口
支持多文件上传,url会以逗号分割的形式返回
uploadStatus:上传进度获取接口
通过前端循环调用获取上传进度
deleteFile:文件删除接口
传入uploadFile接口生成的url即可删除
@RestController
public class FileUploadController {
private final Log log = LogFactory.get();
/**
* 配置的上传路径
*/
@Value("${file.path}")
private String filePath;
/**
* 普通文件上传
*
* @param files
* @param request
* @return
*/
@PostMapping("/uploadFile")
@ApiOperation("普通文件上传")
public JsonResult uploadFile(@RequestParam("files") List<CommonsMultipartFile> files, HttpServletRequest request) {
StringBuffer buffer = new StringBuffer();
for (CommonsMultipartFile file : files) {
//获取原文件名称和后缀
String originalFilename = file.getOriginalFilename();
// 获取文件后缀名
String fil_extension = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
LocalDateTime now = LocalDateTimeUtil.now();
int year = now.getYear();
int month = now.getMonthValue();
int day = now.getDayOfMonth();
long milli = now.toInstant(Zone