在项目中文件上传之后需要重命名文件,避免文件名重复,下面我们整理一下
需要引入两个包,下面是依赖,如果不是maven项目的,可以去maven官网下载jar包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.3.1</version>
</dependency>
我们一般会用MultipartFile类型来接收文件,但是修改名称需要的是File类型,所以我们需要转换一下,重命名后如果需要转换成MultipartFile再转换成MultipartFile
String originalFilename = multipartFile.getOriginalFilename();
String[] filename = originalFilename.split("\\.");
//临时文件
File file=File.createTempFile(filename[0], "."+filename[1]);
multipartFile.transferTo(file);
//重命名
file = FileUtil.rename(file, RandomUtil.simpleUUID(), true, true);
//File转换成MultipartFile
multipartFile = new MockMultipartFile(file.getName(),
//程序退出后删除临时文件
file.deleteOnExit();