我认为在 2MB 文件大小之后,James Kleeh 解决方案存在 Tomcat max-swallow-size 问题,导致多个异常。
https://github.com/grails/grails-core/issues/9378
我继续使用 Javascript 并至少进行了客户端验证。见下文:
function validateSize() {
var fileSize = document.getElementById("uploadFile").files[0];
var sizeInMb = (fileSize.size / 1024) / 1024;
var sizeLimit = 10;
if (sizeInMb > sizeLimit) {
alert('File size must be less than 10 MB');
return false;
}
showSpinner();
return true;
}
<input type="submit" value="I Accept" class="btn btn-success" onclick="return validateSize()"/>