java?MultipartFile文件上傳重命名詳細代碼示例
前言
我們在文件上傳的時候,需要考慮重名覆蓋問題,為邏輯嚴謹,需要在文件上傳的時候,將文件名前方拼接UUID或者時間戳,來區(qū)分同名文件,但因此引出如何修改前端傳給后端的文件名稱。
代碼示例:
這時候需要將這個類型的MultipartFile內(nèi)部將文件名添加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轉(zhuǎn)換成MultipartFile
multipartFile = new MockMultipartFile(file.getName(), file.getName(),multipartFile.getContentType(),inputStream);
//程序退出后刪除臨時文件
file.deleteOnExit();
注意:
File file=File.createTempFile(newName , “.”+fileName1);
該方法創(chuàng)建文件的時候,文件名(newName )不能不能少于兩個漢字
補充:
1、引入的依賴
import org.springframework.mock.web.MockMultipartFile;
2、pom依賴
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
總結(jié)
到此這篇關(guān)于java MultipartFile multipartFile文件上傳重命名的文章就介紹到這了,更多相關(guān)java MultipartFile multipartFile文件上傳重命名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaWeb禁止瀏覽器緩存當(dāng)前Web頁面的方法
所謂瀏覽器緩存,是指當(dāng)?shù)谝淮卧L問網(wǎng)頁時,瀏覽器會將這些網(wǎng)頁緩存到本地,當(dāng)下一次再訪問這些被緩存的網(wǎng)頁時,瀏覽器就會直接從本地讀取這些網(wǎng)頁的內(nèi)容,而無需再從網(wǎng)絡(luò)上獲取2017-11-11
使用SpringBoot3整合Spring AI實現(xiàn)具有記憶功能的AI助手
本文介紹了使用SpringBoot3整合SpringAI和Redis實現(xiàn)一個具有記憶功能的AI助手,項目使用Redis作為存儲介質(zhì),支持用戶級別的會話隔離和30天的對話歷史持久化,詳細介紹了環(huán)境準備、項目初始化、核心配置、功能實現(xiàn)及測試驗證步驟,需要的朋友可以參考下2026-04-04
使用Java?Executors創(chuàng)建線程池的9種方法
文章主要介紹了?Java?中Executors類創(chuàng)建線程池的?9?種方法,每種方法都詳細闡述了實現(xiàn)原理、源代碼分析、參數(shù)解釋、實現(xiàn)過程、特性和使用場景,感興趣的小伙伴跟著小編一起來看看吧2024-11-11
java實現(xiàn)token無感刷新+處理并發(fā)的后端方案
在Web應(yīng)用中,Token用于身份驗證和會話管理,但當(dāng)Token過期時,可能會導(dǎo)致用戶在提交表單或進行操作時突然被重定向到登錄頁面,本文就來介紹一下java實現(xiàn)token無感刷新+處理并發(fā)的后端方案,感興趣的可以了解一下2024-11-11
Java異常處理 Throwable實現(xiàn)方法解析
這篇文章主要介紹了Java異常處理 Throwable實現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
java中JSONArray互相轉(zhuǎn)換List的實現(xiàn)
本文主要介紹了java中JSONArray互相轉(zhuǎn)換List的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

