java?MultipartFile文件上傳重命名詳細(xì)代碼示例
前言
我們在文件上傳的時(shí)候,需要考慮重名覆蓋問題,為邏輯嚴(yán)謹(jǐn),需要在文件上傳的時(shí)候,將文件名前方拼接UUID或者時(shí)間戳,來區(qū)分同名文件,但因此引出如何修改前端傳給后端的文件名稱。
代碼示例:
這時(shí)候需要將這個(gè)類型的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; //臨時(shí)文件 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); //程序退出后刪除臨時(shí)文件 file.deleteOnExit();
注意:
File file=File.createTempFile(newName , “.”+fileName1);
該方法創(chuàng)建文件的時(shí)候,文件名(newName )不能不能少于兩個(gè)漢字
補(bǔ)充:
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)文章
spring(java,js,html) 截圖上傳圖片實(shí)例詳解
這篇文章主要介紹了spring(java,js,html) 截圖上傳圖片實(shí)例詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07Java動態(tài)顯示當(dāng)前日期和時(shí)間
這篇文章主要為大家詳細(xì)介紹了Java動態(tài)顯示當(dāng)前日期和時(shí)間,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12java文件操作代碼片斷實(shí)例實(shí)現(xiàn)統(tǒng)計(jì)文件中字母出現(xiàn)的個(gè)數(shù)功能
本文介紹java讀文件實(shí)例,實(shí)現(xiàn)統(tǒng)計(jì)某一目錄下每個(gè)文件中出現(xiàn)的字母個(gè)數(shù)、數(shù)字個(gè)數(shù)、空格個(gè)數(shù)及行數(shù),除此之外沒有其他字符,大家參考使用吧2014-01-01解決ApplicationContext獲取不到Bean的問題
這篇文章主要介紹了解決ApplicationContext獲取不到Bean的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Java中檢查值是否存在于數(shù)組中的4種詳細(xì)方法
這篇文章主要給大家介紹了關(guān)于Java中檢查值是否存在于數(shù)組中的4種詳細(xì)方法,相信大家在操作Java的時(shí)候經(jīng)常會要檢查一個(gè)數(shù)組(無序)是否包含一個(gè)特定的值,需要的朋友可以參考下2023-08-08深入了解JVM字節(jié)碼增強(qiáng)技術(shù)
這篇文章主要介紹了深入了解JVM字節(jié)碼增強(qiáng)技術(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11SpringBoot?實(shí)現(xiàn)微信推送模板的示例代碼
這篇文章主要介紹了SpringBoot?實(shí)現(xiàn)微信推送模板,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12淺談java中String StringBuffer StringBuilder的區(qū)別
下面小編就為大家?guī)硪黄獪\談java中String StringBuffer StringBuilder的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06