2012-01-04 1 views
1

Servlet 및 JSP를 사용하여 웹 응용 프로그램을 만들었습니다. 나는 아파치 공유 라이브러리를 사용하여 파일 업로드 기능을 만들었다. 사용자가 거대한 파일을 업로드하지 못하도록 제한하고 싶습니다. 따라서 한도를 20MB로 설정하십시오.파일 크기 받기 - Apache Commons 파일 업로드

나는 크기를 결정하기 위해 전체 파일을 읽는 것 같아 Fileitem.getSize() 방법을 사용하여 크기를 얻고 있습니다. 사용자가 몇 GB 크기의 파일을 업로드하려고 시도하면 응용 프로그램 서버에 많은 오버 헤드가 추가되지 않습니까? 파일 크기를 얻기위한 더 좋은 대안이 있습니까?

답변

1

ServletFileUploadsizeMax 속성을 설정하면 일정량 이상의 데이터를 읽는 즉시 요청이 거부됩니다.

DiskFileItemFactory을 사용하는 경우 임계 값을 설정하여 특정 크기 이상의 파일이 메모리에 보관되는 대신 로컬 디스크로 스트리밍되므로 대용량 파일을 보호 할 수 있습니다.

+0

안녕하세요 - 감사합니다. 이 오류 메시지가 나타납니다 - "필드 uploadFile이 최대 허용 크기 인 20자를 초과합니다". 바이트와 ​​문자가 같습니까? 바이트를 지정하는 방법이 있습니까? –