2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

ServletFileUpload類方法有哪些?

更新時間:2021-10-28 來源:黑馬程序員 瀏覽量:

IT培訓班

ServletFileUpload類

ServletFileUpload類是Apache組件處理文件上傳的核心高級類,通過使用parseRequest(HttpServletRequest)方法可以將HTML中每個表單提交的數據封裝成個Fileltem對象,然后以List列表的形式返回。接下來,首先看一下ServletFileUpload類的構造方法如下所示:


ServletFileUpload()

構造一個未初始化的ServletFileUpload實例對象


ServletFileUpload(FileItemFactory fileItemFactory)

根據參數指定的FileItemFactory對象創建一個ServletFileUpload對象

由于在文件上傳過程中,FileltemFactory類必須設置,因此,在使用第一個構造方法創建ServletFileUpload對象時,首先需要在解析請求之前調用setFileltemFactory()方法設置fileltemFactory屬性。

了解了ServletFileUpload對象的創建,接下來,學習一下ServletFileUpload類的方法,具體如下。


1. setSizeMax(long sizeMax)和getSizeMax()方法

setSizeMax()方法繼承自FileUploadBase類,用于設置請求消息實體內容(即所有上數據)的最大尺寸限制,以防止客戶端惡意上傳超大文件來浪費服務器端的存儲空間。其中,參數sizeMax以字節為單位。

另外,對應的getSizeMax()方法用于讀取請求消息實體內容所允許的最大值。


2.setFileSizeMax(long fileSizeMax)方法

setFileSizeMax()方法繼承自FileUploadBase類,用于設置單個上傳文件的最大尺限制,以防止客戶端惡意上傳超大文件來浪費服務器端的存儲空間。其中,參數fileSizeMax是以字節為單位。

另外,對應的getFileSizeMax()方法用于獲取單個上傳文件所允許的最大值。


3. parseRequest(javax.servlet.http.HttpServletRequest req)

parseRequest()方法是ServletFileUpload類的重要方法,它是對HTTP請求消息體內容進行解析的入口。它解析出FORM表單中的每個字段的數據,并將它們分別包裝成獨立的Fileltem對象,然后將這些Fileltem對象加入進一個 List類型的集合對象中返回。


4. getltemlterator(HttpServletRequest request)

getItemIterator()方法和parseRequest()方法基本相同。但是getItemIterator()方法返回的是一個迭代器,該迭代器中保存的不是Fileltem對象,而是FileltemStream對象果希望進一步提高性能,可以采用getItemIterator()方法,直接獲得每一個文件項的數據輸人流,做底層處理;如果性能不是問題,希望代碼簡單,則采用parseRequest()方法即可。


5. isMultipartContent(HttpServletRequest req)

isMultipartContent()方法用于判斷請求消息中的內容是否是multipart/form-data類型,如果是,則返回true,否則返回false。需要注意的是,isMultipartContent()方法是靜態方法,不用創建ServletFileUpload類的實例對象即可被調用。


6. getFileltemFactory()和setFileltemFactory(FileltemFactory factory)

這兩個方法繼承自FileUpload類,分別用于讀取和設置fileltemFactory屬性。


7. setHeaderEncoding(String encoding)方法和getHeaderEncoding()方法

這兩個方法繼承自FileUploadBase類,用于設置和讀取字符編碼。需要注意的是,如果沒有使用setHeaderEncoding()設置字符編碼,則getHeaderEncoding()方法返回null,上傳組件會采用HttDServletRequest設置的字符編碼。但是,如果HttpServletRequest的字符編碼和為null,這時,上傳組件將采用系統默認的字符編碼。獲取系統默認字符編碼的方式如下所示:

System.getProperty("file.encoding")
分享到:
在線咨詢 我要報名
和我們在線交談!