SpringMVC中MultipartFile轉(zhuǎn)File的兩種方式
在spring上傳文件中,一般都使用了MultipartFile來(lái)接收,但是有需要用到File的地方,這里只介紹兩種轉(zhuǎn)為File的方法,當(dāng)然也有一些其他的方法,我試了有些錯(cuò)誤,所以就不提了;
- transferTo()
- org.apache.commons.io.FileUtils.copyInputStreamToFile()
代碼如下:
public void upload(@RequestParam(value = "file") MultipartFile file) {
?? ??? ?if (file != null) {?
?? ??? ??? ?try {
?? ??? ??? ??? ?String fileRealName = file.getOriginalFilename();//獲得原始文件名;?
?? ??? ??? ??? ?int pointIndex = ?fileRealName.lastIndexOf(".");//點(diǎn)號(hào)的位置 ? ??
?? ??? ??? ??? ?String fileSuffix = fileRealName.substring(pointIndex);//截取文件后綴 ?
?? ??? ??? ??? ?String fileNewName = DateUtils.getNowTimeForUpload();//新文件名,時(shí)間戳形式y(tǒng)yyyMMddHHmmssSSS
?? ??? ??? ??? ?String saveFileName = fileNewName.concat(fileSuffix);//新文件完整名(含后綴)?
?? ??? ??? ??? ?String filePath ?= "D:\\FileAll" ;
?? ??? ??? ??? ?File path = new File(filePath); //判斷文件路徑下的文件夾是否存在,不存在則創(chuàng)建
?? ??? ? ? ? ? ?if (!path.exists()) {
?? ??? ? ? ? ? ??? ?path.mkdirs();
?? ??? ? ? ? ? ?}?? ??? ??? ?
?? ??? ? ? ? ? ?File savedFile = new File(filePath);
?? ??? ??? ??? ?boolean isCreateSuccess = savedFile.createNewFile(); // 是否創(chuàng)建文件成功
?? ??? ??? ??? ?if(isCreateSuccess){ ? ? ?//將文件寫(xiě)入 ? ? ?
?? ??? ??? ??? ??? ?//第一種 ? ? ? ? ? ??
?? ??? ??? ??? ??? ?file.transferTo(savedFile);?
?? ??? ??? ??? ??? ? //第二種
?? ??? ??? ??? ??? ?savedFile = new File(filePath,saveFileName);
?? ??? ??? ??? ??? ?// 使用下面的jar包
?? ??? ??? ??? ??? ?FileUtils.copyInputStreamToFile(file.getInputStream(),savedFile);
?? ??? ??? ??? ?} ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ??? ?} catch (Exception e) {
?? ??? ??? ??? ?e.printStackTrace();?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ?}else {
?? ??? ??? ?System.out.println("文件是空的");
?? ??? ?}
?? ?}附commons-io jar包maven地址:點(diǎn)擊下載 commons-io-2.4.jar
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
到此這篇關(guān)于SpringMVC中MultipartFile轉(zhuǎn)File的兩種方式的文章就介紹到這了,更多相關(guān)SpringMVC MultipartFile轉(zhuǎn)File內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Spring Batch在大型企業(yè)中的最佳實(shí)踐
本篇文章主要介紹了淺談Spring Batch在大型企業(yè)中的最佳實(shí)踐,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
java 獲取對(duì)象中為null的字段實(shí)例代碼
這篇文章主要介紹了java 獲取對(duì)象中為null的字段實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
WebSocket實(shí)現(xiàn)數(shù)據(jù)庫(kù)更新時(shí)前端頁(yè)面刷新
這篇文章主要為大家詳細(xì)介紹了WebSocket實(shí)現(xiàn)數(shù)據(jù)庫(kù)更新時(shí)前端頁(yè)面刷新,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端
這篇文章主要介紹了Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
mybatis分割字符串并循環(huán),實(shí)現(xiàn)in多個(gè)參數(shù)的操作
這篇文章主要介紹了mybatis分割字符串并循環(huán),實(shí)現(xiàn)in多個(gè)參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Java8 新特性之日期時(shí)間對(duì)象及一些其他特性
這篇文章主要介紹了Java8 新特性之日期時(shí)間對(duì)象及一些其他特性,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
淺析java中ArrayList與Vector的區(qū)別以及HashMap與Hashtable的區(qū)別
以下是對(duì)java中ArrayList與Vector的區(qū)別以及HashMap與Hashtable的區(qū)別進(jìn)行了詳細(xì)的解析。需要的朋友可以過(guò)來(lái)參考下2013-08-08

