servlets> 3.1:frontcontrolller:multipart / formData:当尺寸太大时,拒绝特定部件名称的文件

在我的应用程序中,我只有一个servlet(也称为前端控制器),根据请求路由到控制器(POJO)。

那个servlet只有@MutipartConfig而没有任何配置。 因为有一个servlet,我不能在该配置中提供最大文件大小选项,因为我的控制器应该自己处理最大文件大小。

例如,我有一个控制器,处理多个文件上传,一次由特定名称标识,例如:

 avatar - file report - file 

我不想要超过4MB的头像,并且报告超过100MB。

我怎样才能做到这一点?

这是真的,我只能(在科特林,但你明白了):

 request.getParts().forEach { part -> if (part.getName() == "avatar") { if part.getSize() > 4 * 1024 { part.getInputStream().close() //or throw exception } } if (part.getName() == "report") { if (part.getSize() > 100 * 1024) { part.getInputStream().close() //or throw exception } } }