最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring中的MultipartFile詳解

 更新時間:2024年01月04日 10:35:50   作者:時間不會賴著不走  
這篇文章主要介紹了Spring中的MultipartFile詳解,隨著Spring框架的崛起,使用Spring框架中的MultipartFile來處理文件也是件很方便的事了,今天就為大家?guī)砥饰鯩ultipartFile的神秘面紗,需要的朋友可以參考下

前言

在Java中處理文件向來是一種不是很方便的操作,然后隨著Spring框架的崛起,使用Spring框架中的MultipartFile來處理文件也是件很方便的事了,今天就為大家?guī)砥饰鯩ultipartFile的神秘面紗。MultipartFile本身并沒有很復雜的結(jié)構,也正是他強力封裝了很多便捷的api才引來很多人的使用。

一、概述

MultipartFile為org.springframework.web.mutipart包下的一個類,也就是說如果想使用MultipartFile這個類就必須引入spring框架,換句話說,如果想在項目中使用MultipartFile這個類,那么項目必須要使用spring框架才可以,否則無法引入這個類。MultipartFile翻譯成中文來講就是“多組件的文檔”,不用太在乎他的中文含義,一般來講使用MultipartFile這個類主要是來實現(xiàn)以表單的形式進行文件上傳功能。

二、理解什么是MultipartFile

要想真正理解什么是MultipartFile,我們就需要從源碼角度進行分析和理解。接下來我將一步一步對MultipartFile進行源碼解讀,這可以使得我們更系統(tǒng)的理解MultipartFile。

1、MultipartFile類的注釋說明

MultipartFile類的注釋說明截圖如下圖1.1所示:

在這里插入圖片描述

圖1.1 MultipartFile注釋說明

第一句:一種可以接收使用多種請求方式來進行上傳文件的代表形式。也就是說,如果你想用spring框架來實現(xiàn)項目中的文件上傳功能,則MultipartFile可能是最合適的選擇,而這里提到的多種請求方式則可以通俗理解為以表單的形式提交。

第二句:這個文件內(nèi)容可以存儲到內(nèi)存中或者存儲在磁盤的臨時位置上。

第三句:無論發(fā)生哪種情況,用戶都可以自由地拷貝文件內(nèi)容到session存儲中,或者以一種永久存儲的形式進行存儲,如果有需要的話。 第四句:這種臨時性的存儲在請求結(jié)束之后將會被清除掉。

2、MultipartFile常用方法解析

首先MultipartFile是一個接口,并繼承自InputStreamSource,且在InputStreamSource接口中封裝了getInputStream方法,該方法的返回類型為InputStream類型,這也就是為什么MultipartFile文件可以轉(zhuǎn)換為輸入流。通過以下代碼即可將MultipartFile格式的文件轉(zhuǎn)換為輸入流。

multipartFile.getInputStream();

(1)、getName方法

getName方法獲取的是前后端約定的傳入文件的參數(shù)的名稱,在SpringBoot后臺中則是通過@Param(“uploadFile”) 注解定義的內(nèi)容。值得一提的是,我們來看一下該方法的注釋,如下圖2.1所示:

在這里插入圖片描述

圖2.1 getName方法源碼截圖

從上圖的return中可以看出,返回的name值從來不是null或者空,也就是說如果使用MultipartFile來接收文件,那么@Param(“uploadFile”)定義的接收文件的名稱則必不可少,這樣才能接收到文件,如果沒有定義@Param(“uploadFile”),則接收不到文件。

(2)、getOriginalFileName方法

getOriginalFileName方法獲取的是文件的完整名稱,包括文件名稱+文件拓展名。

(3)、getContentType方法

getContentType方法獲取的是文件的類型,注意是文件的類型,不是文件的拓展名。

(4)、isEmpty方法

isEmpty方法用來判斷傳入的文件是否為空,如果為空則表示沒有傳入任何文件。

(5)、getSize方法

getSize方法用來獲取文件的大小,單位是字節(jié)。

(6)、getBytes方法

getBytes方法用來將文件轉(zhuǎn)換成一種字節(jié)數(shù)組的方式進行傳輸,會拋出IOException異常。

(7)、getInputStream方法

getInputStream方法用來將文件轉(zhuǎn)換成輸入流的形式來傳輸文件,會拋出IOException異常。

(8)、transferTo方法

transferTo方法用來將接收文件傳輸?shù)浇o定目標路徑,會拋出IOException、IllegalStateException異常。該方法在實際項目開發(fā)中使用較少。文件上傳主要是用這個方法實現(xiàn)!

到此這篇關于Spring中的MultipartFile詳解的文章就介紹到這了,更多相關MultipartFile詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

高尔夫| 堆龙德庆县| 治县。| 德钦县| 海南省| 霞浦县| 睢宁县| 汉川市| 屏东市| 闽侯县| 自治县| 滦平县| 宿松县| 色达县| 任丘市| 娱乐| 芮城县| 二手房| 鄂州市| 蒙阴县| 卢湾区| 元氏县| 岗巴县| 蓝田县| 化州市| 龙江县| 通化市| 罗甸县| 镇赉县| 凌源市| 错那县| 高密市| 金门县| 唐山市| 梁山县| 荣成市| 南皮县| 开封县| 大厂| 信阳市| 平武县|