Servlet3.0为Servlet添加了multipart配置选项,并为HttpServletRequest添加了getPart和getParts方法获取上传文件。为了使Servlet支付文件上传需要作如下配置。
1、使用注解配置
//@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 )
2、在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>