当我尝试在我的应用程序中上传文件时遇到问题。
应用服务器是 Glassfish 3.1.2.2。
服务器端我正在使用 Spring MVC。所以我宣布beans.xml
:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>
在控制器中,我有:
@RequestMapping(value = "/processUpload", method = RequestMethod.POST)
@ResponseBody
public Object processUpload(MultipartHttpServletRequest request) {
... do something with request.getFiles(...); ...
}
在客户端,我正在使用XMLHttpRequest
:
xhr.open('POST', url, true);
var formData = new FormData();
formData.append('something', ...);
formData.append('file', file);
它处理小文件但处理大文件,它不断给我这个异常消息:
Stream ended unexpectedly
我尝试了什么:
max-post-size-bytes="0"
或max-post-size-bytes="1073741824"
domain.xml 中的 (= 1go / test-file = 300mo)- 使用https://java.net/jira/browse/GLASSFISH-18444中提供的更改 web-core.jar
- 用 glassfish/libs 中的更改 commons-io、commons-fileupload
- 独立更改网络核心/独立更改公共库
- 在 web.xml 中使用
<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
而不是 commons-fileupload +<multipart-config>
提前致谢,
烟