java 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文件上传重命名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
spring(java,js,html) 截图上传图片实例详解
这篇文章主要介绍了spring(java,js,html) 截图上传图片实例详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-07-07
java文件操作代码片断实例实现统计文件中字母出现的个数功能
本文介绍java读文件实例,实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数,除此之外没有其他字符,大家参考使用吧2014-01-01
解决ApplicationContext获取不到Bean的问题
这篇文章主要介绍了解决ApplicationContext获取不到Bean的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-06-06
浅谈java中String StringBuffer StringBuilder的区别
下面小编就为大家带来一篇浅谈java中String StringBuffer StringBuilder的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-06-06


最新评论