SpringMVC中MultipartFile轉(zhuǎn)File的兩種方式
在spring上傳文件中,一般都使用了MultipartFile來接收,但是有需要用到File的地方,這里只介紹兩種轉(zhuǎn)為File的方法,當(dāng)然也有一些其他的方法,我試了有些錯誤,所以就不提了;
- 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(".");//點號的位置 ? ?? ?? ??? ??? ??? ?String fileSuffix = fileRealName.substring(pointIndex);//截取文件后綴 ? ?? ??? ??? ??? ?String fileNewName = DateUtils.getNowTimeForUpload();//新文件名,時間戳形式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){ ? ? ?//將文件寫入 ? ? ? ?? ??? ??? ??? ??? ?//第一種 ? ? ? ? ? ?? ?? ??? ??? ??? ??? ?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地址:點擊下載 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WebSocket實現(xiàn)數(shù)據(jù)庫更新時前端頁面刷新
這篇文章主要為大家詳細(xì)介紹了WebSocket實現(xiàn)數(shù)據(jù)庫更新時前端頁面刷新,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04Java 實現(xiàn)Redis存儲復(fù)雜json格式數(shù)據(jù)并返回給前端
這篇文章主要介紹了Java 實現(xiàn)Redis存儲復(fù)雜json格式數(shù)據(jù)并返回給前端操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07mybatis分割字符串并循環(huán),實現(xiàn)in多個參數(shù)的操作
這篇文章主要介紹了mybatis分割字符串并循環(huán),實現(xiàn)in多個參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06淺析java中ArrayList與Vector的區(qū)別以及HashMap與Hashtable的區(qū)別
以下是對java中ArrayList與Vector的區(qū)別以及HashMap與Hashtable的區(qū)別進(jìn)行了詳細(xì)的解析。需要的朋友可以過來參考下2013-08-08