处理 MaxUploadSizeExceededException : Ajax 文件上传

Handle MaxUploadSizeExceededException : Ajax File Uploading

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

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

我该怎么做?

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

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

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

一个可能的解决方案是完全遵循 linked answer 中的解决方案,在异常情况下,您将重定向到 error.jsp,这将事实上returnJSON,就这么简单

error.jsp

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

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

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