티스토리 뷰
스프링에서 파일업로드 처리를 위한 설정은 아래와 같다.
우선 내 개발환경은..
* spring : 3.1
* maven : 2.2
0. 파일업로드는 아파치의 common.fileupload 를 사용한다. servlet3.0에서도 사용할 수 있으나, 현재 alpha 버전이어서 일단, common.fileupload(1.2.2)를 사용하기로 한다.
메이븐을 사용한다면, pom.xml에 아래 코드를 추가한다.
1. multipart 부분을 처리하기 위한 bean 추가!!
servlet-context.xml 에 아래 bean을 추가.
2. Controller에 아래 메소드 추가.
3. 파일업로드 하는 jsp 또는 html 파일 추가.
4. 업로드 해 보면 톰캣 콘솔화면에 아래와 같은 내용이 나온다.
(ScreenHunter_86 Sep. 04 18.44.jpg 파일을 업로드 해 봄.)
@@@@@@@@@@@@ FileUpload Test Controller...
name :
file : file
file getOriginalFilename : ScreenHunter_86 Sep. 04 18.44.jpg
file size : 29971
file getContentType : image/jpeg
file toString : org.springframework.web.multipart.commons.CommonsMultipartFile@5b1da4c7
file is not empty.
file size : 29971
** 위에서 MultipartResolver 추가시 파일용량은 100,000bytes 로 제한을 두었는데.. 만약 그 이상 크기의 파일을 업로드 하면 아래와 같이 CommonsMultipartResolver 에서 예외(MaxUploadSizeExceededException)가 발생하여 브라우저에 500에러가 그대로 보이게 된다. 이를 위해 예외처리를 하는 방법은 아래와 같다.
1. servlet-context.xml에 예외처리를 위한 bean을 추가한다.
위의 설정에서 보듯이 MaxUploadSizeExceededException 예외발생시 error_fileupload 로 지정한 페이지로 이동하라는 것인데, 여기서 error_fileupload 는 servlet-context.xml에서 "viewResolver" 설정에서 prefix와 suffix를 제외한 값을 얘기한다.
정리차원에서 끄적끄적~ :)
'About 개발~~' 카테고리의 다른 글
[이클립스] 프로퍼티 파일에서 한글을 아무 걱정없이 써보자~!! (4) | 2012.12.30 |
---|---|
[스프링] mybatis에서 @Transactional 설정 해 보기~ (1) | 2012.12.30 |
[스프링] HTTP 응답을 json으로 해 보자~ (0) | 2012.12.30 |
[이클립스] ant 를 이용한 빌드에서 sftp 사용하기~ (0) | 2012.12.30 |
[안드로이드] 이미지가 서서히 나타나는 효과 주기~ (0) | 2012.12.30 |
- Total
- Today
- Yesterday
- spring
- 오토캠핑
- 스프링
- 단상
- 톰캣
- 중도
- 주저리주저리
- 무제
- 발번역
- MySQL
- http
- 안드로이드
- 주저리
- SVN
- db
- 중도캠핑장
- socket
- myBatis
- 개발
- QR코드
- 스마트tv
- java
- netty
- 개화예술공원
- 캠핑
- 자바
- network
- 이클립스
- json
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |