■ 간단한 파일 업로드
COS 라이브러리를 이용한 업로드를 구현해보자. 우선 중요한 라이브러리 파일을 다운받아야 한다.
다운 받은 라이브러리 jar 파일을 WEB-INF -> lib폴더 안에 넣어준다.
그리고 난 후 Java Build Path에서 Add JARS를 통해 경로를 잡아준다.
JSP 파일에서 type을 file로 설정하고 업로드할 준비를 한다.
또한 form형식에서는 꼭 enctype="multipart/form-data"를 달아줘야한다. 그렇지 않으면 파일 업로드가 불가능하다.
<input name="gImage" type="file" />
<form name="goodsRegForm" action="goodsRegProcess" method="post"
enctype="multipart/form-data">
Controller에서 처리하는 방법이다. 우선 아까 경로를 잡아준 cos.jar 라이브러리에 있는 파일을 import 시켜준다.
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
import를 시킨 후, MultipartRequest를 이용하여 업로드를 해보자.
MultipartRequest를 선언하고 이미지 크기, 경로 등을 설정하여 업로드를 시켜주면 된다.
MultipartRequest multi = null;
req.setCharacterEncoding("utf-8");
int sizeLimit = 10 * 1024 * 1024 ; // 10MB 크기 제한
String savePath = "C:/Users/ATEC Designer/Documents/workspace-sts-
3.6.4.RELEASE/SpringTest/src/main/webapp/resources/img/upload";
// 저장 경로 설정
System.out.println("savePath : " + savePath);
try{
multi=new MultipartRequest(req, savePath, sizeLimit,
"utf-8", new DefaultFileRenamePolicy());
// 업로드
} catch (Exception e) {
e.printStackTrace();
// 예외처리
}
이러한 방식으로 처리를 한다면 기본적으로 파일의 업로드는 가능하게 된다. 조금 더 다듬어서 사용을 한다면, 다중 업로드도 가능하며 약간의 문제를 보완할 수 있을 것이다.
★ 중요
이와같이 enctype="multipart/form-data"를 사용하게 되면, request.getParameter가 사용이 불가능하다. 이때, MultipartRequest에서 제공하는 Request를 사용해야 되며 평상시와 동일하게 파라미터를 주고 받을 수 있다.
String gCategory1 = multi.getParameter("gCategory1");
String gName = multi.getParameter("gName");
String gContent = multi.getParameter("gContent");
이미지, 텍스트, PDF 등 다양한 파일이 업로드가 가능하며, 코딩에 따라 설정을 다르게 할 수도 있습니다. 자기 입맛에 맞게 사용하는 것이 중요할 것 같습니다. 이상입니다.
관련글 더 보기
2015/07/03 - [JavaScript] 랜덤(Random) 숫자 / 난수 만드는 방법
2015/07/02 - [JSP] 숫자 변환 포맷 (3자리 마다 콤마 찍기)
2015/07/02 - [Spring] 한글이 깨질 시 처리방법은 ?
↓ 공감 을 눌러주시면 블로거에게 큰 힘이 됩니다 !
'공부 이야기' 카테고리의 다른 글
[JSP] HTTP 에러코드 정리 모음 (0) | 2015.07.02 |
---|---|
[JSP] 웹에서 Session 사용하기 (0) | 2015.07.02 |
[JSP] 이름 유효성 체크 (공백, 한글명, 글자수 등) (0) | 2015.07.02 |
[Javascript] 한글이 깨질 경우 처리방법 (web.xml 수정) (0) | 2015.07.01 |
Oracle DB 설치 및 Spring 프로젝트에 연동하는 방법 (0) | 2015.07.01 |