파일 업로드
1. 파일 업로드용으로 개발되어 있는 컴포넌트들이 많이 있기 때문에 컴포넌트에서 제공되는 API를 이용하면 보다 쉽게 업로드 기능을 구현
2. 폼 태그에 enctype 속성이 multipart/form-data로 설정
3. 만약 enctype을 지정을 하지 않는다면 파일 객체가 전송되는 것이 아니고 파일의 이름만 문자열로 전송된다.
형태는 다음과 같이 되어있다.
<html>
<body>
<form name="frmName" method="post" enctype="multipart/form-data">
<input type="text" name="title">
<input type="file" name="selectFile">
<input type="submit" name="OK">
</form>
</body>
</html>
4. COS 라이브러리는 현재 자바에서 가장 널리 쓰여지는 업로드 컴포넌트
5. www.servlets.com , com.oreilly.servlet 링크를 클릭한다.
6. 다운 받은 후 압축을 해제해 준다 .
7. 해제 한 cos.jar파일을 프로젝트의 WebContentà Web-INF à lib 폴더에 붙여넣기를 한다.
이렇게 하면 준비되는 되었다.
8. MultipartRequest 클래스 : 파일 업로드를 직접적으로 담당하는 클래스
9. MultipartRequest 생성자 형태를 알아보자.
MultipartRequest multi
= new MultipartRequest(request, folderDirectory, 1024*10 , “euc-kr”, new DefaultFileRenamePolicy());
Request : MultipartRequest와 연결될 request객체를 의미
savaDirectory : 서버 측에 파일이 실질적으로 저장될 경로를 의미
maxPostSize : 한번에 업로드 할 수 있는 최대파일 크기 의미
encoding : 파일의 인코딩 방식을 의미
policy : 파일 이름 중복 처리를 위한 인자를 의미
10. MultipartRequest 메소드 ( 메소드 8 가지에 대해서 알아 보자 )
ㄱ. getParameterNames() : 폼에서 전송된 파라미터의 타입이 file이 아닌 이름들을 Enumeration 타입으로 리턴
ㄴ. getParameterValues() : 폼에서 전송된 파라미터 값들을 배열로 받아옴
ㄷ. getParameter(String Name) : Request객체에 있는 해당 파라미터의 값을 가져옴
ㄹ. getFileNames() : 파일을 여러 개 업로드 할 경우 타입이 file인 파라미터 이름들을 Enumeration 타입으로 리턴
ㅁ. getFilesystemName(String Name) : 서버에 실제로 업로드 된 파일의 이름을 의미
ㅂ. getOriginalFileName(String Name) : 클라이언트가 업로드 한 파일의 원본 이름을 의미
ㅅ. getContentType(String Name) : 업로드 된 파일의 컨텐츠 타입을 얻을 때 사용
ㅇ. File getFile(String) : 서버에 업로드 된 파일 객체 자체를 반환하는 메소드
11. MultipartRequest 메소드를 어떻게 사용하는지 알아보자
getParameterNames() 메소드
è Enumeration params = multi.getParameterNames();
getParameter 메소드
è String paramValue = multi.getParameter(String name);
getFileNames() 메소드
è Enumeration files = multi.getFileNames();
getFileSystemNames() 메소드
è String filename = multi. getFileSystemNames();
getOriginalFileName() 메소드
è String original = multi. getOriginalFileName(Sting name);
getContentType() 메소드
è String type = multi.getContentType(String name);
getFile() 메소드
è File file = multi.getFile(String name);
'학부공부 > 웹시스템설계및개발' 카테고리의 다른 글
EL의 자바빈즈 기반 기초 . (0) | 2018.09.15 |
---|---|
표현언어 EL 이란 무엇일까 ?? (0) | 2018.09.15 |
Basic2_useBeanClass (0) | 2018.09.07 |
Basic2_JSP_Result (0) | 2018.09.07 |
Basic2_JSP(Main) (0) | 2018.09.07 |
#IT #먹방 #전자기기 #일상
#개발 #일상