파일 업로드를 할 때 Parameter Name에 따라 각각 다른 폴더의 경로로 파일을 저장하는 코드입니다.
//import 생략
int maxSize = 1024 * 1024 * 1024; //파일 업로드 최대 사이즈 1GB
MultipartParser mp = new MultipartParser(httpRequest, maxSize);
mp.setEncoding("UTF-8");
Part part;
while ((part = mp.readNextPart()) != null) {
String name = part.getName(); // 파일의 Parameter name을 가져옴
if (part.isParam()) { // 타입이 파일이 아닐때
ParamPart paramPart = (ParamPart) part;
String value = paramPart.getStringValue();
System.out.println("param name=" + name + ", value=" + value);
} else if (part.isFile() && name.equals("file1")) { //Parameter Name을 체크
File dir = new File("/home/test/file1"); // 파일 저장할 경로 지정
FilePart filePart = (FilePart) part;
String file = filePart.getFileName();
if (file != null) {
filePart.writeTo(dir); // 지정한 경로에 파일 쓰기
} else{
System.out.println("file; name=" + name + "; EMPTY");
}
} else if (part.isFile() && name.equals("file2")) { //Parameter Name을 체크
File dir = new File("/home/test/file2"); // 파일 저장할 경로 지정
FilePart filePart = (FilePart) part;
String file = filePart.getFileName();
if (file != null) {
filePart.writeTo(dir); // 지정한 경로에 파일 쓰기
} else{
System.out.println("file; name=" + name + "; EMPTY");
}
}
}