Java Servlet MultipartConfig参数

Java Servlet MultipartConfig参数,java,servlets,file-upload,multipartconfig,Java,Servlets,File Upload,Multipartconfig,我正在阅读MultipartConfig的官方和非官方文档,但我不了解其参数的用法,特别是以下参数: MaxFileSize:允许上载文件的最大大小,以字节为单位。如果 任何上载的文件的大小都大于此大小,web 容器将引发异常(IllegalStateException)。默认值 大小不限 fileSizeThreshold:文件大小(以字节为单位),在此之后,文件将临时存储在磁盘上。默认大小为0字节 maxRequestSize:多部分/表单数据允许的最大大小 请求,以字节为单位。如果 所有上

我正在阅读MultipartConfig的官方和非官方文档,但我不了解其参数的用法,特别是以下参数:

MaxFileSize:允许上载文件的最大大小,以字节为单位。如果 任何上载的文件的大小都大于此大小,web 容器将引发异常(IllegalStateException)。默认值 大小不限

fileSizeThreshold:文件大小(以字节为单位),在此之后,文件将临时存储在磁盘上。默认大小为0字节

maxRequestSize:多部分/表单数据允许的最大大小 请求,以字节为单位。如果 所有上载文件的总大小超过此阈值。默认值 大小不限

我认为MaxFileSize是最大文件大小的值,不是吗?但是其他两个参数呢?谁能用别的话给我解释一下吗

谢谢

fileSizeThreshold:文件大小(以字节为单位),在此之后,文件将临时存储在磁盘上。默认大小为0字节

上载的文件可以驻留在服务器的内存中,也可以存储在某个临时位置的磁盘上,此设置是两种状态之间的阈值

maxRequestSize:多部分/表单数据请求允许的最大大小,以字节为单位。如果所有上载文件的总大小超过此阈值,web容器将引发异常。默认大小是无限的


一个多部分请求可能包含一堆小文件,这是总限制=所有上载文件大小的总和。

我理解“maxRequestSize”:)如果我对fileSizeThreshold参数使用1MB,这是否意味着将有1MB的保留RAM内存来存储文件,如果文件超过1MB,则将存储在硬盘中?这就是我从你的话中所理解的。将没有保留内存,1MB以上的文件将存储在磁盘上,下面的文件将存储在RAM中,如果你的服务器因此耗尽内存,它将崩溃。但是需要检查每个特定应用程序服务器的源代码,因为它们可能有bug/不尊重文档等。如果要将最大文件大小限制为300kB,应该使用哪个文件大小?我会使用
307200