파일 업로드와 파일 다운로드에 대한 발행글입니다.

 

 


 

 

 

파일 업로드 기능은 Commons FileUpload 라이브러리가 가장 많이 사용됩니다.

스프링 프레임워크에서도 사용되는 매우 안정적인 라이브러리이지만,

Servlet 3.0부터 @MultipartConfig 어노테이션과 javax.servlet.http.Part 인터페이스를 사용하여 보다 쉽게 파일 업로드 기능을 구현할 수 있습니다.

 

 


 

 

@MultipartConfig Attribute

사용 가능 속성 목록
  • maxFileSize : 업로드 파일 최대크기값, 기본값은 -1 (크기 제한 없음)
  • maxRequestSize : HTTP 요청의 최대크기값, 기본값은 -1 (크기 제한 없음)
  • location : 파일 저장 경로, 파일은 Part의 write 메서드가 호출될 때 저장됨

 

 

 

Part Interface Method

사용 가능 메서드 목록
  • String getName() : HTML 태그의 <form> 태그 이름을 반환한다. 태그명이 파트 이름이 됨
  • String contentType() : 파일의 contentType을 반환한다.
  • Collection getHeaderNames() : Part의 모든 헤더명을 반환한다.
  • getHeader(name) : 설정한 헤더의 값을 리턴한다.
  • writer(path) : 업로드한 파일을 출력한다.
  • delete() : 파일과 임시 파일을 삭제한다.
  • InputStream getInputStream() : 업로드한 파일의 내용을 InputStream 객체로 반환한다.

 

 

 

서블릿 컨테이너는 다운로드중인 임시 파일을 생성하고 저장합니다.

대량의 파일 업로드가 여러 사용자에 의해 발생할 때, 임시 파일로 인해 스토리지가 고갈되므로 delete()라는 커맨드를 사용해서 임시파일을 삭제해야합니다.

 

 

 

'웹 표준 > Servlet' 카테고리의 다른 글

Cookie  (0) 2023.09.15
Session Tracking  (0) 2023.09.14
FrontController, Command Patterns  (0) 2023.09.13
Request  (0) 2023.09.13
DTO, DAO, VO  (0) 2023.09.12

+ Recent posts