在我的项目中,我使用以下堆栈:
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上