2014-03-13 5 views
2

setMaxUploadSize 메서드를 이해하는 데 문제가 있습니다. 파일 크기를 제한한다고 생각했습니다. 그러나 테스트 목적으로 maxUploadSize를 10 바이트로 설정 한 다음 10 바이트 파일을 업로드하면 파일이 거부되고 MaxUploadSizeExceededException이 발생합니다.CommonsMultipartResolver setMaxUploadSize는 파일 크기 또는 요청 크기를 제한합니까?

코드에서 commons-fileupload를 보면 콘텐츠 길이 헤더를 먼저 테스트한다는 것을 이해합니다. 필자의 경우 Content-Lenght가 224이므로 업로드가 거부됩니다.

제 질문은 : 요청 본문 크기가 제한되었거나 실제 파일 크기입니까?

답변

2

CommonsMultipartResolver는 Jakarta Commons DiskFileUpload 용 MultipartResolver 구현입니다. DiskFileUpload에는 2 개의 필드가 있습니다. 1) sizeMax - 전체 요청의 최대 허용 크기입니다. 2) fileSizeMax - 업로드 된 단일 파일의 최대 허용 크기입니다. 당신의 예외에 대한 이유를 설명

public void setMaxUploadSize(long maxUploadSize) { 
    this.fileUpload.setSizeMax(maxUploadSize); 
} 

:

CommonsMultipartResolver은 maxUploadSize 필드를 구현합니다.

+0

감사합니다. 이것이 내가 소스 코드에서 이해 한 것입니다. 나는 Spring 문서에서 다음과 같은 스펙이 있기 때문에 혼란 스러웠다 :' <속성 이름 = "maxUploadSize"value = "100000"/>'http://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch16s08 .html –