Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当上传文件大小超过限制时,如何取消表单提交?_Java_Spring_Jakarta Ee - Fatal编程技术网

Java 当上传文件大小超过限制时,如何取消表单提交?

Java 当上传文件大小超过限制时,如何取消表单提交?,java,spring,jakarta-ee,Java,Spring,Jakarta Ee,我试图使用SpringCommonsMultipartResolver限制图像大小。问题是“文件大小异常”会在上传时立即抛出,但上传会一直持续到最后(由于在表单上发布的性质)。因此,我最终在磁盘上保存了一个临时文件,检查大小,然后向用户显示验证错误消息,除此之外,还浪费了额外的带宽/资源 当达到指定的图像大小时,是否有办法通过取消表单提交来解决此问题 这只能通过在客户端检查它来实现。您可以使用新的返回字节大小的。在HTML4中无法实现这一点(可能需要一些特定于IE的ActiveX函数),因此您依

我试图使用Spring
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
属性选择多个文件