0

在我的项目中,我使用以下堆栈:

java 7
spring-boot 1.3.8
wicket 6.26.0
wicket-bootstrap 0.9.21

现在我想使用 BootstrapFileInputField 实现文件上传。

这是我的检票口 html:

<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
</head>

<body>
    <div class="container">
        <div wicket:id="alert"></div>
        <form wicket:id="form">
            <input type="file" wicket:id="fileInput" multiple="multiple"/>
        </form>
    </div>
</body>

</html>

我的 java wicket 类看起来像这样:

form = new BootstrapForm<>("form");
form.setOutputMarkupId(true);
form.setMultiPart(true);
form.setFileMaxSize(Bytes.megabytes(5));

如果我上传小于 5 mb 的文件,一切正常。但是,当我上传的文件大于最大文件大小时,会发生 ajax 错误。

阿贾克斯错误:

ERROR: Cannot read Ajax response for multipart form submit: SecurityError: Blocked a frame with origin "http://localhost:8080" from accessing a cross-origin frame.
ERROR: Wicket.Ajax.Call.failure: Error while parsing response: No XML response in the IFrame document

但是当我删除最大文件大小时,我可以上传相同的文件而不会出错。我该如何解决这个问题?

代码也在github上

4

1 回答 1

0

你部署在 Tomcat 上吗?最近一位用户报告他遇到了同样的问题并通过更改 Tomcat 解决了它maxSwallowSize- http://markmail.org/message/n53epxuqkwf4ze4t

另见http://www.mkyong.com/spring-boot/spring-boot-configure-maxswallowsize-in-embedded-tomcat/

于 2017-06-02T11:28:00.947 回答