본문 바로가기

Web

cos.jar 파일을 이용한 파일 업로드

MultipartRequest 생성자
MultipartRequest(javax.servlet.http.HttpServletRequest request, java.lang.String saveDirectory, int maxPostSize, java.lang.String encoding, FileRenamePolicy policy);
예) MultipartRequest multi = new MultipartRequest(request, folderDirectory, 1024*10, "euc-kr", new DefaultFileRenamePolicy());
*** MultiparRequest 메소드 ***
java.lang.String getContentType(java.lang.String name) - 업로드 된 파일의 컨텐츠 타입을 반환, 업로드 된 파일이 없으면 null 반환
java.io.File getFile(java.lang.String name) - 서버상에 업로드 된 파일의 파일객체를 반환, 업로드 된 파일이 없으면 null 반환
java.util.Enumeration getFileNames() - 폼 요소 중 input  태그 속성이 file 로 된 파라미터의 이름들을 반환, 업로드 된 파일이 없으면 비어 있는 Enumeration 을 반환
java.lang.String getFilesystemName(java.lang.String name) - 사용자가 지정해서 서버상에 실제로 업로드 된 파일명을 반환
java.lang.String getOriginalFileName(java.lang.String name) - 사용자가 지정해서 서버상에 업로드 된 파일명을 반환, 이 때의 파일명은 파일의 중복을 고려한 파일명 변경 전의 이름을 말함
java.lang.String getParameter(java.lang.String name) - 스트링으로 주어진 이름에 대한 값을 반환, 값 없이 파라미터가 전송되었거나 해당되는 이름의 파라미터가 전송이 되지 않았을 경우 null 을 반환
java.util.Enumeration getParameterNames() - 모든 파라미터 이름을 Enumeration 으로 반환
java.lang.String[] getParameterValues(java.lang.String name) - 주어진 이름에 대한 값을 스트링 배열로 반환, 파라미터가 전송되지 않았을 때는 null 을 반환

import java.io.*;
import java.util.*;
import com.oreilly.servlet.*;
import com.oreilly.servlet.multipart.*;
...
String dir = "/files/";
int size = 1024 * 1024 *1024; //1기가 업로드
String use_encode = "utf-8";
MultipartRequest multi = new MultipartRequest(request, dir, size, use_encode, new DefaultFileRenamePolicy());
Enumeration params = multi.getParameterNames();
while(params.hasMoreElements()){
  String name = (String)params.nextElement();
  String value = multi.getParameter(name);
  out.println(name + "=" + value);
}
Enumeration files = multi.getFileNames();
while(files.hasMoreElements()){
  String name = (String)files.nextElements();
  String filename = multi.getFilesystemName(name);
  String originalname = multi.getOriginalFileName(name
  String type = multi.getContentType(name);
  File file = multi.getFile(name);
);
}