SpringMVC 上傳文件 MultipartFile 轉(zhuǎn)為 File的方法
在使用 SpringMVC 上傳文件時(shí),接收到的文件格式為 MultipartFile,但是在很多場(chǎng)景下使用都需要File格式的文件,記錄下以便日后使用。
以下mFile為MultipartFile文件
此方法會(huì)在本地產(chǎn)生臨時(shí)文件,使用完畢需要?jiǎng)h除
在網(wǎng)上搜索未發(fā)現(xiàn)可直接使用的不產(chǎn)生臨時(shí)文件的方法,查到幾個(gè)本地測(cè)試皆無(wú)法通過(guò),如哪位有不產(chǎn)生臨時(shí)文件的方法,請(qǐng)多多指教👍
MultipartFile 轉(zhuǎn)為 File
File file = new File(mFile.getOriginalFilename()); FileUtils.copyInputStreamToFile(mFile.getInputStream(), file); // 會(huì)在本地產(chǎn)生臨時(shí)文件,用完后需要?jiǎng)h除 if (file.exists()) { file.delete(); }
MultipartFile 獲取 Base64 編碼
File file = new File(mFile.getOriginalFilename()); FileUtils.copyInputStreamToFile(mFile.getInputStream(), file); try (FileInputStream fis = new FileInputStream(file)) { byte[] buf = new byte[(int) file.length()]; fis.read(buf); return new String(Base64.encodeBase64(buf), StandardCharsets.ISO_8859_1); } catch (IOException e) { log.error(e.getMessage(), e); } finally { if (file.exists()) { file.delete(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring注解@Transactional失效的場(chǎng)景分析
在使用Spring中事務(wù)注解@Transactional時(shí)會(huì)存在幾種場(chǎng)景下該注解失效,即不能按照預(yù)期封裝成一個(gè)事務(wù)操作,于是本文文將對(duì)該注解進(jìn)行學(xué)習(xí)并對(duì)相關(guān)失效場(chǎng)景進(jìn)行分析,需要的朋友可以參考下2023-07-07往DAO類中注入@PersistenceContext和@Resource的區(qū)別詳解
這篇文章主要介紹了往DAO類中注入@PersistenceContext和@Resource的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Java設(shè)計(jì)模式之單例模式Singleton Pattern詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之單例模式Singleton Pattern詳解,一些常用的工具類、線程池、緩存,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)連接池、賬戶登錄系統(tǒng)、配置文件等程序中可能只允許我們創(chuàng)建一個(gè)對(duì)象,這就需要單例模式,需要的朋友可以參考下2023-12-12java 實(shí)現(xiàn)音樂播放器的簡(jiǎn)單實(shí)例
這篇文章主要介紹了java 實(shí)現(xiàn)音樂播放器的簡(jiǎn)單實(shí)例的相關(guān)資料,希望通過(guò)本文能幫助到大家,實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09Java遠(yuǎn)程連接Linux服務(wù)器并執(zhí)行命令及上傳文件功能
這篇文章主要介紹了Java遠(yuǎn)程連接Linux服務(wù)器并執(zhí)行命令及上傳文件功能,本文是小編整理的代碼筆記,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05代理模式之Java動(dòng)態(tài)代理實(shí)現(xiàn)方法
今天一個(gè)偶然的機(jī)會(huì)我突然想看看JDK的動(dòng)態(tài)代理,因?yàn)橐郧耙仓酪稽c(diǎn),而且只是簡(jiǎn)單的想測(cè)試一下使用,使用很快里就寫好了這么幾個(gè)接口和類,需要的朋友可以參考下2012-11-11SpringBoot2.x中management.security.enabled=false無(wú)效的解決
這篇文章主要介紹了SpringBoot2.x中management.security.enabled=false無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07