HttpServlet中的异常取决于maxFileSize

时间:2017-06-22 15:31:46

标签: java tomcat servlets xmlhttprequest multipartform-data

我有一个servlet,想要使用maxFileSize参数限制上传的文件。在一些行为之后我想发送回复到我的页面。这一切都适用于其他错误(不是maxFileSize)。

如果文件很大,我会在页面上显示此错误:

  

ERR_CONNECTION_RESET

(但不受我控制)。我无法获得足够的文字。

在我做String param = req.getParameter("param");的Java时,我收到了错误

  

java.lang.IllegalStateException:org.apache.tomcat.util.http.fileupload.FileUploadBase $ FileSizeLimitExceededException:字段fileList []超出其允许的最大大小10485760字节。

同一问题org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException

存在一个老问题

爪哇:

    @WebServlet(urlPatterns = "/my_page")
    @MultipartConfig(
            fileSizeThreshold = 1*1024*1024,
            maxFileSize = 10*1024*1024,
            maxRequestSize = 50*1024*1024)
    public class MyServlet extends HttpServlet { 
...
String param = req.getParameter("param"); 
...    
req.setAttribute("infoResult", "File is too big");
req.getRequestDispatcher("my_page.jsp").forward(req, resp);

Javascript:

const xhr = new XMLHttpRequest();
        xhr.open("POST", "${pageContext.request.contextPath}", true);
        xhr.timeout = 10000; 
        xhr.send(formData);

 xhr.onerror = function () {
// I get xhr.status = 0 here and nothing in responseText
        };

xhr.onreadystatechange = function () {
// I get xhr.status = 0 here and nothing in responseText
        };

0 个答案:

没有答案