如何在tomcat servlet中限制上传的文件大小

时间:2015-02-17 15:15:33

标签: java tomcat servlets

我需要为在tomcat上运行的servlet中的上传文件设置max filesize。我尝试了在jetty上运行的multipart配置,但是tomcat只是忽略了它。这意味着在tomcat服务器上部署甚至可以上传大文件。 我的配置:

<servlet>
    <servlet-name>myServlet</servlet-name>
    <servlet-class>sk.test.MyServlet</servlet-class>
    <multipart-config>
        <max-file-size>1048576</max-file-size>
        <max-request-size>104857600</max-request-size>
    </multipart-config>
</servlet>

我已经尝试过注释配置,但也没有用。

使用:Tomcat 7.0.54,Servlet 3.0

我将不胜感激任何帮助,谢谢

1 个答案:

答案 0 :(得分:3)

设置最大文件大小的值,在servlet类或web.xml config之前使用注释。 请参阅注释中的maxFileSize或xml配置中的<max-file-size></max-file-size>

@MultipartConfig(
    location="/tmp", 
    fileSizeThreshold=1024*1024,    // 1 MB
    maxFileSize=1024*1024*5,        // 5 MB 
    maxRequestSize=1024*1024*5*5    // 25 MB
)

<multipart-config>
    <location>/tmp</location>
    <max-file-size>20848820</max-file-size>
    <max-request-size>418018841</max-request-size>
    <file-size-threshold>1048576</file-size-threshold>
</multipart-config>

参考:https://docs.oracle.com/javaee/7/tutorial/servlets011.htm