【发布时间】:2014-03-01 15:50:03
【问题描述】:
我发现 Apache Tomcat 允许以下配置,采用硬编码或注释方法。我不确定最大文件大小是在上传过程中还是在文件上传到临时位置之后计算的。该文档指出以下内容:
@MultipartConfig 注解支持以下可选属性:
location:文件系统上目录的绝对路径。这 location 属性不支持相对于应用程序的路径 语境。此位置用于临时存储文件,而 部分被处理或当文件的大小超过指定的 文件大小阈值设置。默认位置是“”。
fileSizeThreshold:文件大小(以字节为单位),之后文件将被 临时存储在磁盘上。默认大小为 0 字节。
MaxFileSize:上传文件允许的最大大小,以字节为单位。如果 任何上传文件的大小大于此大小,网络 容器将抛出异常 (IllegalStateException)。默认 大小是无限的。
maxRequestSize:multipart/form-data 允许的最大大小 请求,以字节为单位。 Web 容器将抛出异常,如果 所有上传文件的总大小超过此阈值。默认 大小是无限的。
注解方式:
@MultipartConfig(location="/tmp", fileSizeThreshold=1024*1024,
maxFileSize=1024*1024*5, maxRequestSize=1024*1024*5*5)
如果有人能澄清在上传过程中是否计算了 MaxFileSize 以及如何在 servlet 中处理此异常,我将不胜感激。
【问题讨论】:
-
是的,我已经有了这篇文章,但是没有提到在上传过程中或之前计算 Maxfilesize 的时间,如果你告诉我如何处理 servlet 中的 MaxUploadSizeExceededException,这将有所帮助。
标签: java jsp jakarta-ee servlets servlet-3.0