处理MaxUploadSizeExceededException:Ajax文件上传

时间:2015-01-19 13:14:06

标签: java spring spring-mvc file-upload

如何在基于MaxUploadSizeExceededException的文件上传操作中有效处理ajax

我有基于ajax的文件上传功能。当用户上传大小超过允许的最大值的文件时,我需要处理MaxUploadSizeExceededException。我从here获得了解决方案,当文件大小超过时,用户将被定向到错误页面。由于我使用ajax请求上传文件,我想在文件大小超过时在浏览器中显示javascript警报,而不是重定向到某个错误页面。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

一个可能的解决方案是完全遵循linked answer中的解决方案,在异常情况下,您将重定向到 error.jsp ,这实际上会返回JSON,因此简单如

<强> error.jsp文件

<%@ page contentType="application/json;charset=UTF-8" language="java" %>
{"errors":"${errors}"}

在这种情况下,ajax调用的成功部分将是

success : function(json) {
   alert(json.errors);
}

答案 1 :(得分:0)

我不知道在Ajax中,因为你要求使用javascript显示,如果你使用的是不支持HTML 5的浏览器,你可以使用 ActiveXObject 。如果你使用的是现代浏览器,您可以使用下面的文件API,

$('#fileId').bind('change', function() {
  //The below code will get the size of the uploaded file.
  alert(this.files[0].size);
});

您将获得以字节为单位的文件大小,您可以将文件大小除以1024以获得kb。