java - 如何在使用 CommonsMultipartFile 检查文件大小时防止文件完全加载到内存中? (java, Spring )

标签 java file-upload spring-mvc

我有一个表单对象,它由 Spring 自动正确填充。在这个表单对象中,我有一个字段:

CommonsMultipartFile file;

用户可以上传文件,并且表单对象正确包含该文件。一切都很好。但是,我想确保用户无法上传大于 2 MB 的文件。我已经检查过了,也有效。

问题:当我上传一个非常大的文件(比如 500MB)时,我的表单对象内存中最终会出现一个如此大的文件(我假设是这样)。有什么办法可以防止这种情况发生吗?例如,有没有什么方法可以使用 validator 检查文件大小,但不需要在检查之前加载整个文件?

最佳答案

假设您使用的是CommonsMultipartResolver,那么您可以使用其maxUploadSize属性来限制这一点。请参阅docs举个例子。

关于java - 如何在使用 CommonsMultipartFile 检查文件大小时防止文件完全加载到内存中? (java, Spring ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029259/

相关文章:

java - 验证上传的文件是否为 jpg 和 png 并保存到静态文件夹

java - 在 Android 中删除 Fragment 到底有什么作用?

java - 使用 Java 在文档中的任何位置定位 XML 元素

java - 保存多个多对一关系时的 Hibernate 优化

java - 既然jdbc是一个接口(interface),我们如何在jdbc中使用prepare语句

java - @ControllerAdvice 在处理异常方面比 @ExceptionHandler 或 HandlerExceptionResolver 有什么优势?

Java上传文件到远程Linux服务器,无需ftp或scp

c# - 在 ASP.NET MVC 中安全和 "squarified"照片上传

java - Spring Boot 配置和使用两个数据源

spring - 我们应该在哪里使用@Transactional,Service层在哪里?