[英]Glassfish 3.1.2.2 file upload
嘗試在應用程序中上傳文件時遇到問題。
應用程序服務器是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"
(= 1go /測試文件= 300mo) <bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
代替web.xml中的commons-fileupload + <multipart-config>
提前致謝,
煙
最后,我找到了一個解決方案:
$.ajax({
type : 'POST',
url : '/processUpload',
data : formData,
dataType : 'text',
cache : false,
processData : false,
contentType : false,
xhr : function () {
... progress things ...
}
});
而不是使用本機XHR。
使用:
org.springframework.web.multipart.commons.CommonsMultipartResolver
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.