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)文章
Java中IO流 RandomAccessFile類實(shí)例詳解
這篇文章主要介紹了Java中IO流 RandomAccessFile類實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
Java實(shí)現(xiàn)簡(jiǎn)單的表達(dá)式計(jì)算器功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)簡(jiǎn)單的表達(dá)式計(jì)算器功能,結(jié)合實(shí)例形式分析了Java針對(duì)輸入表達(dá)式的符號(hào)分解與數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
SpringCloud之Feign遠(yuǎn)程接口映射的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud之Feign遠(yuǎn)程接口映射的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
微信小程序調(diào)用微信登陸獲取openid及java做為服務(wù)端示例
這篇文章主要介紹了微信小程序調(diào)用微信登陸獲取openid及java做為服務(wù)端示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
基于Spring Data的AuditorAware審計(jì)功能的示例代碼
這篇文章主要介紹了基于Spring Data的AuditorAware審計(jì)功能的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
JVM內(nèi)存結(jié)構(gòu)劃分實(shí)例解析
這篇文章主要介紹了JVM內(nèi)存結(jié)構(gòu)劃分實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Java中l(wèi)ist.contains()的用法及拓展
List集合相信大家在開(kāi)發(fā)過(guò)程中幾乎都會(huì)用到,有時(shí)候難免會(huì)遇到集合里的數(shù)據(jù)是重復(fù)的,需要進(jìn)行去除,下面這篇文章主要給大家介紹了關(guān)于Java中l(wèi)ist.contains()的用法及拓展的相關(guān)資料,需要的朋友可以參考下2023-03-03
java中VO和DTO之間的轉(zhuǎn)換實(shí)現(xiàn)
本文主要介紹了java中VO和DTO之間的轉(zhuǎn)換實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05

