Servlet3.0爲Servlet添加了multipart配置選項,併爲HttpServletRequest添加了getPart和getParts方法獲取上傳文件。爲了使Servlet支付文件上傳須要做以下配置。java
一、使用註解配置web
//@MultipartConfig將告訴web容器爲改servlet提供文件上傳支持 @MultipartConfig( //fileSizeThreshold將告訴web容器文件必須達到多大才能寫入到臨時文件 //本例中是文件小於5MB將保存到內存中,請求完成由垃圾回收器回收 //文件超過5MB,容器將把文件保存到location指向的臨時文件,請求完成後容器從磁盤中刪除該文件 fileSizeThreshold = 5_242_880, //5MB //location告訴瀏覽器在哪裏存儲臨時文件,可忽略,讓應用服務器使用它默認臨時目錄便可 location = "url", //maxFileSize設置上傳文件的最大值,以下是上傳文件不能超過20MB maxFileSize = 20_971_520L, //20MB //maxRequestSize設置請求的最大值,以下是一個請求不能超過40MB,文件數據不限 maxRequestSize = 41_943_040L //40MB )
二、在web.xml使用部署描述符配置,做用跟註解同樣,這裏不作過多解釋瀏覽器
<servlet> <multipart-config> <file-size-threshold></file-size-threshold> <location></location> <max-file-size></max-file-size> <max-request-size></max-request-size> </multipart-config> </servlet>