java MultipartFile文件上传重命名详细代码示例
作者:傻猴儿
在文件上传功能开发中,为防止文件重名导致数据覆盖,常见的做法是在文件名前加上UUID或时间戳来区分,这篇文章主要介绍了java MultipartFile multipartFile文件上传重命名的相关资料,需要的朋友可以参考下
前言
我们在文件上传的时候,需要考虑重名覆盖问题,为逻辑严谨,需要在文件上传的时候,将文件名前方拼接UUID或者时间戳,来区分同名文件,但因此引出如何修改前端传给后端的文件名称。
代码示例:
这时候需要将这个类型的MultipartFile内部将文件名添加UUID,但前端又不太方便处理,由此后端处理方式如下:
String fileSuffix = multipartFile.getOriginalFilename(); //文件重命名 String fileName0 = fileSuffix.substring(0,fileSuffix.lastIndexOf(".")); String fileName1 = fileSuffix.substring(fileSuffix.lastIndexOf(".")+1); //重命名 String newName = uuid+"_"+fileName0; //临时文件 File file=File.createTempFile(newName , "."+fileName1); multipartFile.transferTo(file); InputStream inputStream = new FileInputStream(file); //File转换成MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(),multipartFile.getContentType(),inputStream); //程序退出后删除临时文件 file.deleteOnExit();
注意:
File file=File.createTempFile(newName , “.”+fileName1);
该方法创建文件的时候,文件名(newName )不能不能少于两个汉字
补充:
1、引入的依赖
import org.springframework.mock.web.MockMultipartFile;
2、pom依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency>
总结
到此这篇关于java MultipartFile multipartFile文件上传重命名的文章就介绍到这了,更多相关java MultipartFile multipartFile文件上传重命名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!