在我的项目中,我使用以下堆栈:
java 7
弹簧靴1.3.8
检票口6.26.0
wicket-bootstrap 0.9.21
现在我想使用BootstrapFileInputField实现文件上传。
这里是我的wicket 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错误。
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
答案 0 :(得分:0)
你在Tomcat上部署吗?
最近,一位用户报告说他遇到了同样的问题并通过更改Tomcat maxSwallowSize
- http://markmail.org/message/n53epxuqkwf4ze4t
另见http://www.mkyong.com/spring-boot/spring-boot-configure-maxswallowsize-in-embedded-tomcat/