目录
- 前言
- 代码示例:
- 注意:
- 补充:
- 总结
前言
我们在文件上传的时候,需要考虑重名编程客栈覆盖问题,为逻辑严谨,需要在文件上传的时候,将文件名前方拼接UUID或者时间戳,来区分同名文件,但因此引出如何修改前端传给后端的文件名称。
代码示例:
这时候需要将这个类型的MultipartFile内部将文件名添加UUID,但前端又不太方便处理,由此后端处理方式如下:
Stri编程ng fileSuffix = multipapythonrtFile.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.gpythonetContentType(),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文件上传重命名内容请搜索编程客栈(www.cppcns.cSBBqCwtvWom)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论