配置servlet支持文件上传

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>
原文地址:https://www.cnblogs.com/dyfbk/p/8046609.html