servlet 2.3 例子:上傳文件

一、@MultipartConfig

使用@MultipartConfig 注解的servlet 可以調用request.getPart(String name) /request.getParts() ,獲取Multipart/form-data 請求的part組件

@MultipartConfig 的屬性

1、 fileSizeThreshold int 當數據量大于該值時,內容將被寫入文件,默認為0。
2、location String 存放生成的文件地址,文件目錄的絕對路徑
3、maxFileSize long 允許上傳的文件最大值。默認值為 -1,表示沒有限制。
4、maxRequestSize long 是 針對該 multipart/form-data 請求的最大數量,默認值為 -1,表示沒有限制。

servlet 支持的request.getParts() 方法

request.getParts() 方法返回全部part對象的集合,如果有多個輸入文件,則返回多個part對象。
也可以通過request.getPart(String name) 方法 獲取特定part對象

二、上傳文件

三、inputStream總結

<b>(1)從流中讀取數據</b>
int read() 讀取一個字節,返回值為所讀得字節
int read(byte b[]) 讀取多個字節,放置到字節數組b中,通常讀取的字節數量為b的長度,返回值為實際獨取的字節的數量。
int read(byte b[] ,int off,int len)讀取len個字節,放置到以下標off開始字節數組b中,返回值為實際讀取的字節的數量。
int available() 返回值為流中尚未讀取的字節的數量。
long skip(long n);讀指針跳過n個字節不讀,返回值為實際跳過的字節數量
(2)<b>關閉流</b>
close() 流操作完畢后必須關閉
(3)<b>使用輸入流中的標記</b>
void mark(int readlimit)紀錄當前指針的所在位置.readlimit表示讀指針讀出的readlimit個字節后所標記的指針位置才實效。
void reset() 把讀指針重新指向用mark方法所記錄的位置
boolean markSupported() 當前的流是否支持讀指針的記錄功能。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 國家電網公司企業標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,183評論 6 13
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 問題:使用URLWithString方法實例化NSURL對象時,如果傳入參數為空,或者包含中文,會導致實例化失敗,...
    小暖風閱讀 265評論 0 1
  • 一直想著一個人,想著她出現在每一個明天,也知道她不會出現在我的明天
    西四船長閱讀 243評論 0 0