Java 当上传文件大小超过限制时,如何取消表单提交?
我试图使用SpringJava 当上传文件大小超过限制时,如何取消表单提交?,java,spring,jakarta-ee,Java,Spring,Jakarta Ee,我试图使用SpringCommonsMultipartResolver限制图像大小。问题是“文件大小异常”会在上传时立即抛出,但上传会一直持续到最后(由于在表单上发布的性质)。因此,我最终在磁盘上保存了一个临时文件,检查大小,然后向用户显示验证错误消息,除此之外,还浪费了额外的带宽/资源 当达到指定的图像大小时,是否有办法通过取消表单提交来解决此问题 这只能通过在客户端检查它来实现。您可以使用新的返回字节大小的。在HTML4中无法实现这一点(可能需要一些特定于IE的ActiveX函数),因此您依
CommonsMultipartResolver
限制图像大小。问题是“文件大小异常”会在上传时立即抛出,但上传会一直持续到最后(由于在表单上发布的性质)。因此,我最终在磁盘上保存了一个临时文件,检查大小,然后向用户显示验证错误消息,除此之外,还浪费了额外的带宽/资源
当达到指定的图像大小时,是否有办法通过取消表单提交来解决此问题 这只能通过在客户端检查它来实现。您可以使用新的返回字节大小的。在HTML4中无法实现这一点(可能需要一些特定于IE的ActiveX函数),因此您依赖于目标webbrowser是否工作。在FF>=3.6、Chrome>=2和Safari>=4中支持HTML5(不,不在IE中,甚至还不在IE9中!)。在任何情况下,您都应该保留服务器端代码以检查文件大小,这不仅是不支持它的浏览器的备用方法,而且对于最终用户禁用或破解JS代码的情况也是如此 以下是一个启动示例:
与
函数检查大小(输入){
if(input.files&&input.files[0].size>(10*1024)){
警报(“文件太大,允许最大10KB”);
input.value=null;
}
}
是的,input.files
是一个数组。由于HTML5,
允许通过multiple
属性选择多个文件