private String uploadPath;

 

//싱글톤 타입인가?  패스에 대한 경로 재 저장

public void setUploadPath(String uploadPath){

this.uploadPath = uploadPath;

}

//request 에서 attFile이라는 input name을 찾아 MultipartFile 클래스 변수에다가 담아둔다.

MultipartFile uploadFile = (MultipartHttpServletRequest) request).getFile("attFile");

 

//업로드 파일명 변수 선언

String originalFileName = uploadFile.getOriginalFilename();

 

//요놈은 머징?현재 시간 저장인가?

long currentTimeMillis = System.currentTimeMillis();

 

//소문자로 확장자명 저장

String lastName = originalFileName.substring(originalFileName.lastIndexOf(".")).toLowerCase();

 

String saveName = currentTimeMillis + "_" + lastName;

 

 

 

if(lastName.equals(".hwp") || lastName.equals(".doc") || lastName.equals(".pdf") || 
    lastName.equals(".xls") ||  lastName.equals(".gif") ||   lastName.equals(".jpg")){

 

/*

File.separator     = 

시스템마다 경로를 나타내는 구분자가 다르게 존재한다.

윈도우는 \으로 구분하지만 유닉스는 / 로구분하는 등 업로드나 다운로드시 이렇게 작성하면 File.separator부분에 \나 /가 들어간다는 간다.

*/

 

File fileToCreate = new File(uploadPath + FIlie.separator + "temp");
 

//폴더가 없을시 생성

if(fileToCreate.exists() == false){

fileToCreate.mkdirs();

}

 

//무복사 타입(DB -> Read 버퍼 -> socket 버퍼 -> NIC 버퍼 사용)

uploadFile.transferTo(new File(uploadPath + File.separator + saveName));

 

 

Map params= new HashMap();

params.put("file_nm", saveName);

params.put("file_path", uploadPath);

params.put("file_type", lastName);

 

boardDao.write(params);

.

.

.