2011-10-08 2 views
1

나는 스프링 3과 jquery로 웹 애플리케이션을 개발 중이며 서버 (Tomcat 7.0.22)로 파일을 보내기 위해 ajax 업로드 스크립트를 사용하고있다. 파일이 콘텐트 유형이 application/octet-stream 인 서버에 게시되고 서버가 바이트 배열로 파싱합니다. 그러나 비록 명시 적으로 바람둥이 설정에서 maxpostsize to 2097152의 값을 명시 적으로 설정했지만,이 설정은 전혀 영향을 미치지 않는 것으로 보입니다. 예를 들어, (메모리가 부족한) 서버를 크래시하기에 충분히 큰 파일 (로컬로)을 업로드 할 수 있습니다 (> 1 GB).Tomcat maxpostsize 값이 XMLHttpRequest에서 무시 되었습니까?

다음
Host localhost:8080 
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language en-us,en;q=0.5 
Accept-Encoding gzip, deflate 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Connection keep-alive 
X-Requested-With XMLHttpRequest 
X-File-Name some-pdf.pdf 
Content-Type application/octet-stream 
Referer http://localhost:8080/myapp/ 
Content-Length 9369597 
Cookie JSESSIONID=F237BA8176D158A297BAFA7F57A98A5F; 
Pragma no-cache 
Cache-Control no-cache 

는이 오래된 질문이지만 톰캣의 커넥터 구성

<Service name="Catalina"> 

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" 
      maxPostSize="2097152"/> 

답변

4

:

이 바와 같이 Request.java에서 볼 수있는

, maxPostSize가로 촬영 여기에 불을 지르고에서 요청 헤더는 "application/x-www-form-urlencoded"콘텐츠 유형에만 해당하며 요청 방법 ("보통"대 xhr)의 영향을받지 않습니다.

관련 문제